|
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
|
|
Текстовый файл читать построчно01.09.2014, 04:18. Показов 12875. Ответов 30
Метки нет (Все метки)
Помогите новичку!
Не могу проделать вроде простую (для других языков) процедуру: Перебрать строки текстового файла и обработать перед выводом каждую строку отдельно не зависимо от длины. Ни где не смог "нагуглить" такого решения! Даже странно! Только работа с потоками и буферами байт/символов. Уже 2 учебника просмотрел на эту тематику... Писать строки легко, а читать - только побайтно... Может неправильно ищу? Может нужны определенные готовые классы? В делфи была команда ReadLn. Ява весь текст в особый класс памяти читает для быстрого поиска строк... А в с++ тупик!
0
|
|
| 01.09.2014, 04:18 | |
|
Ответы с готовыми решениями:
30
Fstream. ищу пример записи в текстовый файл и его же читать
|
|
9 / 9 / 5
Регистрация: 15.11.2011
Сообщений: 115
|
|
| 02.09.2014, 11:16 | |
|
Позвольте вопрос: а если из всего читаемого файла нужно найти всего-навсего одну строчку, то насколько морально "перелопачивать" getlin'ом весь файл? В смысле, может лучше применить другой, более эффективный способ, без лишних движений? Насколько я понимаю, getline будет копировать каждую строку файла - это ведь большие накладные расходы.
0
|
|
|
9 / 9 / 5
Регистрация: 15.11.2011
Сообщений: 115
|
||||||
| 02.09.2014, 13:17 | ||||||
|
К примеру, если поиск по двум-трем словам строки, не лучше ли будет сравнивать по словам, не копируя всю строку, а сразу переходя к следующей в случае несовпадения? Что-то типа:
0
|
||||||
|
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
|
||
| 02.09.2014, 16:51 [ТС] | ||
|
Сейчас мне не нужен системный подход. Есть простое задание - надо максимально быстро его сделать. Для этого нужно изучить (поверхностно) 5-8 технологий. Чаще всего хватает намека указанием команды (примеры сам нагуглю). Одной из них были тестовые файлы для парсинга строк. Файлы похожи на ini или csv. Бумажных книг под руками нет (да и не горит пока), кроме брошурки на 150 страниц для новичка. Учиться с нуля по Дежавю-ПДФ-файлам на 1000 страниц тяжело и неприятно (они полезны как справочники "подзабывшему"). Учитывая разную трактовку понятий в С++ и в языках которыми я владею, гугл-запросы не всегда срабатывают правильно. К тому-же часто мне не нужно узнать все о работе с файлами, а нужно найти технологию, ближе всего похожую на ту, к которой я уже привык. Начинал с паскаля, поэтому ищу простые конструкции, похожие на паскалевские, а не монстры подходящие под любую ситуацию с файлами. Возможно потом, когда-нибудь займусь оптимизацией уже работающих исходников - вот тогда изучу более оптимальные технологии. А пока ресурсов (проц+память) хватает, "эффективность" кода в моих задачах - не главное. Ответ в принципе получил... Очередной кусок технологии одолел... Двигаюсь дальше... Вопрос закрываю... Всем спасибо!
0
|
||
|
Модератор
|
||||||
| 03.09.2014, 07:35 | ||||||
|
Желаете всё это дело запихнуть в массив строк, ну создайте массив std::string arrayOfStrings[] и запихните туда строки текста. Желаете номера для каждой строки, ну добавьте счётчик int counter и в цикле посчитайте и пронумеруйте каждую строку. Впрочем, даже этого не нужно - каждый элемент массива имеет свой индекс. Для написания программы понадобятся строки (и, возможно, методы) класса std::string, оператор if else , циклы (while или for - какой Вам больше нравится) и функции заголовочного файла <cctype>. Ну и обычные объекты для ввода-вывода std::cin и std::cout. Задача элементарная же. Добавлено через 8 минут
0
|
||||||
|
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
|
|||
| 03.09.2014, 08:13 [ТС] | |||
|
Добавлено через 26 минут Мне нужен классический С++, но профи-уровень мне не нужен. Он будет моим "второстепенным" языком для написания "защищенных вставок в яву" (ява-исходники легко можно получить из уже скомпилированной программы, но не с++). Например работа с ключами защиты программы - взял строку из файла, обработал, выдал результат. Сложность должна быть в шифровании строки, а не в чтении строк файла... Пока у меня стадия "обучения" (месяц свободный), но потом не будет время на написание сложного и жутко оптизимированного кода. Уже начал писать свои фреймворки под разные "узкоспециализрованные" операции, но опыта не хватает! И возмущает что чужих подобных не нашел в инете...
0
|
|||
|
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
||
| 03.09.2014, 09:09 | ||
|
0
|
||
|
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
|
|
| 03.09.2014, 09:15 [ТС] | |
|
0
|
|
| 03.09.2014, 09:18 | ||||||||
0
|
||||||||
| 03.09.2014, 09:18 | |
|
Как из С++ передать данные в текстовый файл? и как читать текстовые файлы в С++?
Считывание из файла построчно и запись в файл построчно getline () Открываются 2 текстовых файла, сложить построчно числа из 1 и 2 файла, сумму вывести в третий файл построчно Дан текстовый файл, содержащий целые числа. Определить в каждой четной строке максимальное число и записать результаты в новый текстовый файл Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . .
Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
|
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг.
Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует.
В процессе разработки. . .
|
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
|
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации:
1. Вернуть возможность использования знаков | 1 l I;. . .
|
|
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С.
Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
|
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию?
Фраза «Любая достаточно развитая технология неотличима от магии». . .
|
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль?
Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
|
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология.
«Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
|