Чтение / запись в текстовый файл, странная проблема сводит меня с ума - PullRequest
0 голосов
/ 14 апреля 2011

Хорошо, вот проблема, если я пишу и читаю что-то в текстовом файле, как это, это работает, без проблем:

fstream ff,ff2;
ff.open("simtestagain.txt",ios::out);
CString mycstring = _T("Name with spaces");
char mycharbuffer[255];         //destination buffer
size_t convertedChars = 0;      //number of characters converted
wcstombs_s( &convertedChars, mycharbuffer, mycstring.GetLength()+1, mycstring.GetBuffer(), _TRUNCATE);
ff << mycharbuffer; 

ff.close();

ff2.open("simtestagain.txt",ios::in);

ff2.getline(mycharbuffer,255);
mycstring = mycharbuffer;

ff2.close();
AfxMessageBox(mycstring);

Теперь мне нужно также написать числа в этом файлеЯ делаю:

fstream ff,ff2;
int a,b;
ff.open("simtestagain.txt",ios::out);
CString mycstring = _T("Name with spaces");
char mycharbuffer[255];         //destination buffer
size_t convertedChars = 0;      //number of characters converted
wcstombs_s( &convertedChars, mycharbuffer, mycstring.GetLength()+1, mycstring.GetBuffer(), _TRUNCATE);
ff << 1 << endl;
ff << mycharbuffer << endl; 
ff << 2 << endl;

ff.close();

ff2.open("simtestagain.txt",ios::in);

//EDIT: copy/paste error, not in code //ff2 >> mycharbuffer;
ff2 >> a;
ff2.getline(mycharbuffer,255);
mycstring = mycharbuffer;
ff >> b;

ff2.close();
AfxMessageBox(mycstring);

Теперь cstring не работает, и я не могу понять, почему ...: (

1 Ответ

0 голосов
/ 14 апреля 2011

Избавиться от ff2 >> mycharbuffer

Вы используете ff2 >> mycharbuffer до того, как получите первый номер.Таким образом, вы перемещаете указатель положения за пределы этой строки, когда вы пытаетесь ввести число, которое видит огромную длинную строку, и я уверен, что это дает вам ошибки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...