|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
18.08.2011, 12:39 | #1 |
Форумчанин
Регистрация: 09.05.2009
Сообщений: 122
|
Чтение и запись fstream
Суть вопроса заключается в следующем: Имеется текстовый файл ".txt" содержанием:
99999999999,1,12.08.11,16:32:32,БОЖ 0000011 89206053638,1,15.08.11,16:33:20,БОЖ 0000013 89051753983,1,15.08.11,16:31:01,БОЖ 0000010 89532767171,1,15.08.11,16:33:13,БОЖ 0000012 Код выполняет чтение строк файла пока не найдет конец файла.Хотелось бы заменять 13 символ с 1 на 0. Заранее благодарен. Приблизительный код вот: Код:
Последний раз редактировалось Armatus; 18.08.2011 в 13:05. |
18.08.2011, 12:42 | #2 |
C++, Java
Старожил
Регистрация: 10.04.2010
Сообщений: 2,665
|
Ну и? В чём здесь проблема?
|
18.08.2011, 12:45 | #3 |
Форумчанин
Регистрация: 09.05.2009
Сообщений: 122
|
Проблема в том что закомментированный код не работает) Так же нужно что бы код работал построчно, т.е. прочитал 1ую строку - изменил цифру 1ой строки, прочитал 2ю - изменил 2ю.
|
18.08.2011, 12:55 | #4 |
C++, Java
Старожил
Регистрация: 10.04.2010
Сообщений: 2,665
|
А оформить код тегом # не круто? А то ведь совсем нечитаемо.
А именно надо fstream? Вапше-то лучше пользовать отдельно ifstream и ofstream, хотя у вас, конечно, ситуация специфическая. Код:
1) Так код гораздо легче читать, не правда ли? 2) Зачем в функции str() return 0?! Ну, в смысле, вы вапше зачем делаете функцию int, если можно сделать void в вашем случае? 3) Скорее всего, у вас проблема в цикле, потому как вы пытаетесь прочитав строку после неё записать какое-то число. |
18.08.2011, 13:04 | #5 |
Форумчанин
Регистрация: 09.05.2009
Сообщений: 122
|
1) Да читабельность явно возросла =)
2) Функция str вызывается другой функцией и об успехе ее выполнения нужно будет сообщить. 3) fp << i ? 0 : c[i]; Как работает это строка? |
18.08.2011, 13:23 | #7 |
Форумчанин
Регистрация: 09.05.2009
Сообщений: 122
|
В моем случае это строка должна выглядеть так?
12=i?fp<<0 :fp<<c[i]; |
18.08.2011, 13:26 | #8 |
C++, Java
Старожил
Регистрация: 10.04.2010
Сообщений: 2,665
|
Нет.
Видите ли, первое выражение тернарного оператора должно иметь тип bool. Если i != 0, то оно будет true, если i == 0 , то оно будет false. |
18.08.2011, 13:41 | #9 | |
Форумчанин
Регистрация: 09.05.2009
Сообщений: 122
|
Цитата:
Тогда таким образом? 12==i?fp<<0 :fp<<c[i]; Последний раз редактировалось Armatus; 18.08.2011 в 13:48. |
|
18.08.2011, 15:29 | #10 |
Пользователь
Регистрация: 16.08.2011
Сообщений: 69
|
Меткой в данной программе служит первая запятая в строке, после меняем символ на ноль.
Код:
Последний раз редактировалось _kilik_; 18.08.2011 в 16:04. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Чтение из файла в запись | THX35 | Фриланс | 8 | 19.03.2010 22:41 |
fstream, чтение и запись .txt | willfogg | Помощь студентам | 0 | 26.04.2009 18:26 |
Чтение и запись FilMapping | Micher85 | Общие вопросы Delphi | 0 | 28.10.2008 22:33 |
Запись и чтение файла... | Altera | Общие вопросы Delphi | 5 | 06.05.2008 20:22 |
Запись и чтение сообщений | Altera | Работа с сетью в Delphi | 6 | 13.04.2008 03:31 |