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