|
0 / 0 / 0
Регистрация: 28.08.2017
Сообщений: 70
|
|
Запись в массив с проверкой28.08.2017, 13:56. Показов 2986. Ответов 22
Метки нет (Все метки)
Здравствуйте, не могу понять как записать в массив каждую из строк текстового файла с остановкой записи в случае и ее возобновлении на заданной точке в случае возникновения какой-либо ошибки, текстовый файл имеет структуру
1 10.11.12 4000 2 20.07.14 5000 3 14.05.10 8000 4 05.06.09 3000 разделить пробел, при этом необходимо предать элемент массива , а массивом должна выступать каждая строка в стороннюю программу.
0
|
|
| 28.08.2017, 13:56 | |
|
Ответы с готовыми решениями:
22
|
|
56 / 43 / 27
Регистрация: 19.12.2013
Сообщений: 204
|
||||||
| 29.08.2017, 17:38 | ||||||
|
Могу предложить такой вариант:
Насчёт возобновления после ошибки непонятно. Какая именно ошибка? Это важно.
1
|
||||||
|
0 / 0 / 0
Регистрация: 28.08.2017
Сообщений: 70
|
|
| 06.09.2017, 12:34 [ТС] | |
|
Ошибка связанная с перезагрузкой Windows. Т.е. во время выполнения записи в массив каждой из строк предположим перезагружается Windows, каким образом будет реализован механизм последующего считывания строк из текстового файла* на мой взгляд должен создаваться промежуточный тестовый файл в котором бы запоминалась последняя строка с которой надо начинать читать все остальные строки (строк при этом неизвестно сколько)
0
|
|
|
Unnamed
160 / 158 / 81
Регистрация: 09.06.2011
Сообщений: 852
|
|
| 06.09.2017, 12:42 | |
|
Asew, при перезагрузке компьютера, в любом случае надо будет заного заносить текст в массив. Сделать это можно, но ведь вам нужно будет и предыдущая часть массива? А смысл тогда что-то запоминать
0
|
|
|
Фрилансер
761 / 458 / 146
Регистрация: 06.01.2017
Сообщений: 4,856
|
|
| 06.09.2017, 12:44 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 28.08.2017
Сообщений: 70
|
|||
| 06.09.2017, 12:51 [ТС] | |||
|
2. Строка разбивается на элементы (3 элемента), количество строк неизвестно 3. Каждый элемент передается в другую программу 4. Винда внезапно перезагрузилась. К этому моменту передалось допустим 5 тыс строк , 50 тыс не передалось 5. Комп включился и программа должна запуститься автоматически, при этом должно продолжится считывание строки 5001 , а не 5000-ой 6. Возможно 5001 первая строка какая-то некорректная, предположим в ней не 3 элемента в строке, а каким-то раком 2 . программа должна это учесть, пропустить эту строку и продолжить запись с 5002. При этом записав файл эту строку косячную, ну чтоб как-то отследить ее из этой массы строк. Добавлено через 2 минуты
0
|
|||
|
Unnamed
160 / 158 / 81
Регистрация: 09.06.2011
Сообщений: 852
|
|
| 06.09.2017, 13:09 | |
|
Asew, ну просто записывайте в отдельный файл число строки и все, и в следующий раз, сначала проверяете есть ли этот файл, если есть, начинаете считывать с этой строки в файле.
0
|
|
|
0 / 0 / 0
Регистрация: 28.08.2017
Сообщений: 70
|
|
| 06.09.2017, 13:23 [ТС] | |
|
0
|
|
|
Unnamed
160 / 158 / 81
Регистрация: 09.06.2011
Сообщений: 852
|
|
| 06.09.2017, 13:27 | |
|
Asew,
1) идет запись в массив 2) перезагрузился комп 3) программа включилась, проверила есть ли файл со значением последней считываемой строки 4) если есть, начинаем считывать со следующей строки 5) если нет считываем сначала
0
|
|
|
0 / 0 / 0
Регистрация: 28.08.2017
Сообщений: 70
|
||
| 06.09.2017, 13:30 [ТС] | ||
|
0
|
||
|
Unnamed
160 / 158 / 81
Регистрация: 09.06.2011
Сообщений: 852
|
|
| 06.09.2017, 13:36 | |
|
Asew, т.е. ты предлагаешь за тебя всю программу написать?
Всю логику уже расписали
0
|
|
|
0 / 0 / 0
Регистрация: 28.08.2017
Сообщений: 70
|
||
| 06.09.2017, 13:40 [ТС] | ||
|
0
|
||
|
Unnamed
160 / 158 / 81
Регистрация: 09.06.2011
Сообщений: 852
|
|
| 06.09.2017, 14:14 | |
|
Asew, если слишком большой объем файла лучше бы было его разбивать на отдельные и определять и записывать по очереди
0
|
|
|
192 / 199 / 82
Регистрация: 11.04.2013
Сообщений: 1,086
|
|
| 06.09.2017, 14:34 | |
|
Asew, лучше объясни что за программа и что она делает , ибо писать в фаил каждую долю секунды № строки это изврат
0
|
|
|
56 / 43 / 27
Регистрация: 19.12.2013
Сообщений: 204
|
||||||
| 06.09.2017, 14:59 | ||||||
|
Можно записывать после считывания каждой строки её номер в отдельный файлик. Я создал в файл counter.txt, в нем изначально записано число 0. После чтения строки из файла test.txt открывается counter.txt и в него записывается новый номер. Так, если все строки считаны, то запишется номер последней строки.
0
|
||||||
|
0 / 0 / 0
Регистрация: 28.08.2017
Сообщений: 70
|
|
| 06.09.2017, 15:52 [ТС] | |
|
Добавлено через 7 минут
Значение не может быть неопределенным. Если прописать в count число какое-то ошибок не возникает, прописав ноль и после прочтения строк номер не меняется , как был ноль так и остался
0
|
|
|
Unnamed
160 / 158 / 81
Регистрация: 09.06.2011
Сообщений: 852
|
|
| 06.09.2017, 15:59 | |
|
Там надо на каждой итерации записывать, тогда будет гут
0
|
|
|
192 / 199 / 82
Регистрация: 11.04.2013
Сообщений: 1,086
|
||
| 06.09.2017, 16:02 | ||
|
Если рубанут электричество во время записи то не поможет , а сделает только хуже твой фаил на обычном винте превратиться в мусор а то и все файлы... Когда пользователь завершает работу Win - это можно узнать через API: WM_QUERYENDSESSION
0
|
||
|
56 / 43 / 27
Регистрация: 19.12.2013
Сообщений: 204
|
||
| 06.09.2017, 16:12 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 28.08.2017
Сообщений: 70
|
|||||||
| 06.09.2017, 16:32 [ТС] | |||||||
|
Добавлено через 6 минут
0
|
|||||||
| 06.09.2017, 16:32 | |
|
Помогаю со студенческими работами здесь
20
Циклическая запись с проверкой на наличие в таблицу MySql
Одномерный массив с проверкой элементов на повтор
Запись строки в массив, сортировка, удаление и запись в файл Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|