![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#301 | ||
Форумчанин
Регистрация: 12.03.2019
Сообщений: 432
|
![]() Цитата:
Убрал единицу. Цитата:
Код:
BDA, вырезалку мы сделали, а возможно реализовать, чтоб вырезанный кусок в bin вставить в файл s19 и сохранить в s19 ? Задача думая не лёгкая, как то загрузить надо два файла, соединить и пере сохранить в S19 . Причём у вырезалке разные по размеру куски, значить и вставки разные будут по размеру. Фиксированный массив не пойдёт значит .Под любой размер . Такое возможно реализовать ? Вот я озадачился. Такого ещё не было, вырезать проще. А вот соединить и два формата и пере сохранить в s19 и без чёткого размера ? ![]() Последний раз редактировалось BDA; 15.03.2022 в 21:24. |
||
![]() |
![]() |
![]() |
#302 | |
Форумчанин
Регистрация: 12.03.2019
Сообщений: 432
|
![]() Цитата:
Просидел целый день, удалось в один клик соединить 2 файла в bin правда , но ни фига не получается соединить S19 и bin.... Но зато изобрёл соединение в один два бина. Код работает . Код:
|
|
![]() |
![]() |
![]() |
#303 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,430
|
![]()
Ну реализовать можно практически всё что угодно. Но какого-то простого и компактного способа я не вижу. Если не пытаться написать сразу суперуниверсальное решение, которое обрабатывает гигабайтные файлы, а что-то более простое, то все равно работы достаточно. Считать файл s19 (допустим, поддерживать только кодировку ANSI для простоты), проверить его корректность, преобразовать текст в более удобное представление (структура, хранящая диапазон адресов и сами данные), считать куски бин файла в такие же структуры, правильно соединить данные в структурах между собой (когда диапазоны адресов пересекаются), записать структуры в новый файл s19.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
![]() |
![]() |
![]() |
#304 | |
Форумчанин
Регистрация: 12.03.2019
Сообщений: 432
|
![]() Цитата:
Но что так трудно будет и не подумал. Вот засада... А если при загрузке файл s19 переводить в bin , тут же загрузить кусок бина, соединить и сохранить в S19 ? С этими текстовыми файлами, одни заморочки получаются, по сравнению с bin, где всё проще. |
|
![]() |
![]() |
![]() |
#305 | |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,430
|
![]() Цитата:
Не пойму, как хранение s19 в папке с программой может помочь уйти от проблемы разбора текстового файла, чтобы понять, что за бинарные данные в нем представлены.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
|
![]() |
![]() |
![]() |
#306 |
Форумчанин
Регистрация: 12.03.2019
Сообщений: 432
|
![]() |
![]() |
![]() |
![]() |
#307 | |
Форумчанин
Регистрация: 12.03.2019
Сообщений: 432
|
![]() Цитата:
И всё таки оказалось возможным, батан прислал файл, у него получилось. И 0000 записать на начало файла, а данные с 0 адреса перенести ниже, а верхние данные заполнить 000. И главное , получилось у него ни как мы поставили условие Код:
А у него на пустые места дописываются данные до конечного адреса массива. Если размер файла соответствует массиву то данные пишутся по своим адресам, если данных массива не хватает до конечного адреса , то пустые места заполняются 6Е,6Е,6Е.... И так , до конечного адреса массива. Если файл маленький, он увеличивается,если файл большой , то пустоты до конечного адреса массива заполняются нейтральными данными. Таким методом не надо выходить из цикла и можно обрабатывать от маленького файла, до большого не выходя и не прерывая цикла. И удалось заполнить верхние данные 000. У нас не получилось, ему удалось, значит реально. Самое оптимальное решение у него получилось, то что надо. Тестовый файл прилагаю. |
|
![]() |
![]() |
![]() |
#308 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,430
|
![]()
Просто нужно лучше формализовать задачу. В тестовом файле нет "дырок" в адресах. Это так хорошо подобраны диапазоны или пустоты между диапазонами заполнены FF?
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
![]() |
![]() |
![]() |
#309 |
Форумчанин
Регистрация: 12.03.2019
Сообщений: 432
|
![]()
Задача простая , в независимости от диапазонов, первый диапазон заполняется 0000, а данные переносятся ниже, на другой адрес, далее, если не хватает данных , до последних диапазонов, берётся последний байт в данных и записывается заполняя собой оставшиеся диапазоны, вот как в тестовом файле, последний байт 6E, он и заполняет собой оставшиеся диапазоны , если не хватает самих данных, а не выходит из цикла. Диапазон может быть один, а файлы разной длины, один большой и перекрывает собой диапазоны, второй маленький, данных не хватает , тогда чтоб заполнить все оставшиеся диапазоны заполняются этим последним байтом. В место того, чтоб выходить из цикла. Тогда получается то что надо, любые диапазоны можно заполнять в не зависимости от размера файла. Я разве из начально не об этом говорил?, может плохо выразился, не понятно?. Но суть именно в этом, чтоб 00 заполнить первый диапазон от начала данных и далее, если не хватает данных(файл маленький) тогда берётся последний байт из данных и заполняет собой не заполненые диапазоны.
|
![]() |
![]() |
![]() |
#310 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,430
|
![]()
Особо не тестировал. Вроде заполняет последним байтом всякие диапазоны
![]() Теперь в массиве ranges на первом месте новый адрес, затем начало и конец диапазона из входного файла. На совести пользователя, чтобы новые диапазоны не пересекались. Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Нужно создать "батник", вырезать из "2.txt" первых n строк и вставить их в "1.txt" | temphard | Помощь студентам | 2 | 03.09.2013 16:03 |
Удаление первых n-строк из txt-файла | Neksion | Помощь студентам | 2 | 10.07.2013 18:12 |
Создать чтение из файла и запись в файл txt на С++ | skifre | Фриланс | 0 | 01.06.2012 16:16 |
поиск и выципление строк из txt файла | D_e_n_n | Помощь студентам | 7 | 04.02.2011 05:39 |
C# Представление txt файла как массива строк | asheb | Помощь студентам | 7 | 20.04.2010 12:51 |