| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Считать из файла |
| Автор: OPQ 16.4.2007, 14:39 | ||
| В файле test.txt записано: qwerty я его считываю и получаю qwertyy делаю так
Подскажите где я ошибся. |
| Автор: fantast 16.4.2007, 14:49 |
такая запись означает что цикл будет продолжаться до тех пор пока биты ошибок пусты, т.е. ошибок пока не происходило. когда ты считываешь последний символ и оказываешься в конце файла, то ошибок все еще не было, поэтому цикл повторяется еще раз и в нем ты пытаешься считать символ из файла, это у тебя не удается (получается ошибка), и ты выводишь содержимое ch которое соответственно не изменилось, и только после этого твоя запись while(intxtfile) позволит тебе выйти из цикла. тут тебе лучше использовать eof(). |
| Автор: OPQ 16.4.2007, 14:54 | ||
fantast, всё равно тоже самое
|
| Автор: JAnty 16.4.2007, 14:55 |
| fantast логично сказано, кончно надо ловить eof. |
| Автор: Anikmar 16.4.2007, 14:58 |
| Предположение: Помню под ДОС текстовые файлы заканчивались симолом ^Z. А как сейчас даже не знаю. Может он его хавает? Или там пустая строка есть... |
| Автор: JAnty 16.4.2007, 14:59 |
Чисай Сишными методами и всё будет ОКеюшки... |
| Автор: OPQ 16.4.2007, 15:00 |
| Anikmar, пустой строки нет |
| Автор: JAnty 16.4.2007, 15:01 |
| Символ конца строки равен 255. Но это не главное. Читай fscanf'ом |
| Автор: OPQ 16.4.2007, 15:02 |
пример можно, а то я не знаю как. Но лучше всёже при помощи потоков... |
| Автор: fantast 16.4.2007, 15:04 |
| черт попутал, в ошибочных битах тож есть бит eof, так что должно было работать.. а выложи всю программу |
| Автор: OPQ 16.4.2007, 15:07 | ||
fantast,
|
| Автор: vinter 16.4.2007, 15:15 | ||
если компилятор от горячо любимого борланда, то косяк все равно может остаться. |
| Автор: fantast 16.4.2007, 15:18 |
| переделай свой txt файл, мот ты там какой пробел поставил после цифр или еще что.. |
| Автор: OPQ 16.4.2007, 15:19 | ||
vinter,делал я так
VC++ 2005, VC++ 2002 |
| Автор: betal 16.4.2007, 15:25 | ||
|
| Автор: fantast 16.4.2007, 15:26 |
| у меня все равотает на ура |
| Автор: betal 16.4.2007, 15:27 |
| дя и чуть было н забыл прибить нужно выдилиную дин.память |
| Автор: JAnty 16.4.2007, 15:27 | ||
Вот решение, на моё удевление и сишный метод также ошибается.
Добавлено через 2 минуты и 19 секунд betal мда... |
| Автор: betal 16.4.2007, 15:34 |
| Автор: OPQ 16.4.2007, 15:34 | ||
спасибо, помогло вот это
теперь вопрос такой: как это записать в другой файл test2.txt |
| Автор: fantast 16.4.2007, 15:35 |
| да блин если пишите на си++ так пишите на си++, а не функция отсюда, функция оттуда |
| Автор: JAnty 16.4.2007, 15:37 |
| Лучше писть на С имхо |
| Автор: fantast 16.4.2007, 15:37 |
открываешь и записываешь! |
| Автор: betal 16.4.2007, 15:38 | ||||
Добавлено через 1 минуту и 13 секунд
|
| Автор: fantast 16.4.2007, 15:40 | ||
|
| Автор: JAnty 16.4.2007, 15:40 |
| %s откуда, если мы читали по %с? |
| Автор: betal 16.4.2007, 15:43 |
| тфу ты. Ну то машинально Да JAnty совершенно вегно.... |