|
Программист
|
||||||
Как используя потоки читать файл пропуская текстовые вставки31.10.2011, 23:04. Показов 2161. Ответов 8
Метки нет (Все метки)
Есть поток привязанный к файлу на чтение и запись.
Каждая строка в файле имеет формат: сс:мм:чч дд.мм.гггг text1 = XXX1 text2 = XXX2 text3 = XXX3 где textn - текстовая запись которую ненужно читать(для удобства не программного чтения), а XXXn - число состоящие из 2 или трёх цифр; Вопрос: как прочитать нужные цифровые значение из файла, пропуская при этом данные текстовые пометки? P.S. У меня есть два варианта, но они оба ущербные. 1) Записывать в файл числа разделяя их пробелами(не программное чтение при этом становиться практически невозможным). 2) Я пробовал также использовать буфер для ненужного текста типа:
0
|
||||||
| 31.10.2011, 23:04 | |
|
Ответы с готовыми решениями:
8
Как из С++ передать данные в текстовый файл? и как читать текстовые файлы в С++?
Определить строки этого файла, содержащие максимальную по длине подстроку, состоящую из одинаковых символов |
|
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
|
|
| 31.10.2011, 23:25 | |
|
Читайте в int переменную в цикле проверяя каждый раз всё ли ок с потоком (ios.good()), если ок - у нас число и мы его используем. Когда не выполнилось условие - значит мы попали на текст тогда мы просто чистим флаги ios потока и читаем следующие данные и т.д.
О флагах потока можете почитать здесь http://www.cplusplus.com/refer... /ios/good/
1
|
|
|
Программист
|
||||||
| 01.11.2011, 11:41 [ТС] | ||||||
|
Должно читаться 9 чисел из строки, сделал так:
Добавлено через 1 час 17 минут Может есть в потоках указатель на текущий символ какой, чтобы можно было текст тупо перескакивать инкрементированием указателя (ptr += 4) ? ... Что ещё можно сделать? Добавлено через 10 часов 43 минуты Вообще при определённой подгонке второй метод из тех двух, что я указал в первом посту работает. Так что проблему можно считать решённой, но если вам известно как сделать красивее и эффективнее - пожалуйста отпишитесь! Добавлено через 15 секунд Вообще при определённой подгонке второй метод из тех двух, что я указал в первом посту работает. Так что проблему можно считать решённой, но если вам известно как сделать красивее и эффективнее - пожалуйста отпишитесь!
0
|
||||||
|
|
|||||||||||||||||
| 01.11.2011, 12:46 | |||||||||||||||||
|
Whiteha, заведите структуру с полями
fDATA buf;
Добавлено через 2 минуты
0
|
|||||||||||||||||
|
Программист
|
||||||
| 01.11.2011, 13:14 [ТС] | ||||||
|
Класс для даты у меня уже есть и изначально у меня всё через С систему и было сделано на fscanf(), fprintf(). Я их нахожу очень удобными и негодую почему не сделали аналог для потоковых объектов, но в данной ситуации задача реализовать чтение именно по средством чтения из потока f >>...
В общем для моего формата строки я использовал такую конструкцию:
0
|
||||||
|
|
||||||
| 01.11.2011, 13:30 | ||||||
|
Вот и вся любовь
test.txt
11:22:11 1:2:2011 string1
11:33:11 2:3:2012 string2 11:22:00 2:4:2012 string3
0
|
||||||
|
Программист
|
|
| 01.11.2011, 14:40 [ТС] | |
|
Ну собственно вы так же и написали, только изменили формат последних трёх записей, и запись у вас идёт сразу в объект, а не через интерфейс как у меня. Ну если иных предложений по организации считывания кроме как с использованием буфферных переменных для текста никто не знает тогда тему можно считать решённой.
0
|
|
|
|
||||||||||||
| 01.11.2011, 15:17 | ||||||||||||
или искать знак равно
1
|
||||||||||||
|
|
||
| 01.11.2011, 16:44 | ||
1
|
||
| 01.11.2011, 16:44 | |
|
Помогаю со студенческими работами здесь
9
Текстовые потоки Текстовые потоки Как читать файл...
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes.
А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения
развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам
Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
|
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|