| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > При чтении файла в его конец добавляются цифры. |
| Автор: Sammi2186 10.12.2013, 15:53 | ||
| В файле записано такое: 3 9 3 4 5 5 4 3 2 1 1 3 -3 2 9 1 5 3 6 2 5 3 7 8 9 6 3 8 9 20 Далее я начинаю подсчет цифр в нем, не важно для чего. Вообще при чтении добавляются некоторые цифры в конец файла:
Иногда эти цифры могут убраться, а иногда - нет. Перед ННННННН добавились 9 20. Из-за них все неправильно работает. Подскажите, пожалуйста, из-за чего происходит? |
| Автор: Alexeis 10.12.2013, 16:06 |
| Просто строка в С++ должна завершаться нулем, чтобы правильно отображаться. В файле нет завершающих нулей, там строки обычно разделяются символами возврата каретки, а в самом конце ничего нет. Этот самый ноль нужно записать самостоятельно после того как вычитался весь файл. |
| Автор: Sammi2186 10.12.2013, 16:14 | ||
Но как я узнаю, где его конец? Мне нужно посчитать количество строк в файле. Я не знаю заранее, сколько их. Но я знаю, сколько цифр в каждой строке. В моем файле, в каждой строке 5 цифр. Я считаю общее количество цифр, чтобы поделить на 5, и получу количество строк. Это глупо, да? Но из-за этих лишних, появляющихся цифр количество реально существующих цифр не такое, как должно быть. Т.е. должно быть 30 цифр, а из-за 9 и 20 получается 32 цифры. |
| Автор: Sammi2186 10.12.2013, 16:30 | ||||||
Я неправильно написал здесь.
Это сработает только для однозначных положительных чисел. Можно так:
Добавлено @ 16:37 Кажется все работает.
Спасибо. Решено вроде. |