Имеется следующая функция для считывания из файла его содержимого:
int ReadMap(string FilePath){
ifstream fin(FilePath.c_str());
if (!fin) {
cout<<"File error!"<<endl;
return 0;
}
char ch;
int j=0;
int i=0;
while (fin.get(ch)) {
if(fin.eof()) break;
i++;
if(ch=='\n')j++;
map[i][j]=ch;
//cout<<map[i][j];
}
fin.close();
return 1;
}
Проблема в том, что она, считав содержимое файла и записав его в массив, идет куда-то дальше в память, и в итоге программа вылетает с 'access violation reading location bla-bla-bla'. Что с этим делать, я не представляю
Примечание:
В названии вопроса ошибся. Все-же посимвольное
Примечание:
Сейчас попробую через getline
Примечание:
Внезапно, все заработало. Вот таким вот образом:
int ReadMap(string FilePath){
ifstream fin(FilePath.c_str());
if (!fin) {
cout<<"File error!"<<endl;
return 0;
}
string ch;
int i=0;
while (getline(fin,ch)) {
map[i]=ch;
i++;
cout<<map[i];
}
fin.close();
return 1;
}
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.