Здравствуйте , возникло несколько глупых вопросов по этой теме :
В общем есть 2 простые функции:
1) записывает 10 рандомных чисел в файл :
2) считывает их на консоль
Есть 1 проблема : поcледнее число при выводе на консоль
дублируется(что скорее всего из-за того , что последний
символ записанного файла - это перевод строки который
считывается в x)
Можно ли как-то этого избежать ?
И проблема 2 :
Последние 2 строчки : непонятно почему указатель
не переходит на начало файла ( i2.eof() == 0 )
Заранее спасибо
В общем есть 2 простые функции:
1) записывает 10 рандомных чисел в файл :
2) считывает их на консоль
Есть 1 проблема : поcледнее число при выводе на консоль
дублируется(что скорее всего из-за того , что последний
символ записанного файла - это перевод строки который
считывается в x)
Можно ли как-то этого избежать ?
И проблема 2 :
Последние 2 строчки : непонятно почему указатель
не переходит на начало файла ( i2.eof() == 0 )
Заранее спасибо
Можно попробовать изменить строчку так if (!i.eof()) cout << x << endl; вроде как иногда помогает.
И выложите нормальный вариант кода, тут даже тег специально обученный есть [CODE ]убрать пробелы[ /CODE].
Вариант насчет 2
"Seekg работает, если ты открываешь файл в двоичном формате (ios::bin), если тебе надо перевести курсор на начало файла, то закрой и открой файл заново."
ну да, seekg использовать не надо, все и так должно работать. Необъяснимый глюк (компилятора)?
Если очень надо, чтобы вотпрямщаз заработало, заведите новый поток. Кстати, а их пример правильно работает у Вас?