Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 21.01.2017
Сообщений: 29

Разделение файла и его чтение

23.11.2017, 22:40. Показов 1022. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть файл. В нём есть заголовки TXP.
Нужно, чтобы программа отделяла от файла часть после каждого 2-го TXP (но в первом отрезанном участке должно быть 3 TXP) и сохраняла в отдельный файл. Желательно, чтобы вся эта операция была в шестнадцатиричном формате.
Помогите с этим, пожалуйста.
Вложения
Тип файла: zip spr_cmn_loadsc.zip (22.6 Кб, 2 просмотров)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.11.2017, 22:40
Ответы с готовыми решениями:

Чтение данных из файла и разделение строк на подстроки
есть файл Иванов Вася 2 2 2 Новохатский Вася 1 1 1 Бахметьев Андрей 5 5 5 Гад Ползучий 4 5 4 нужно найти сумму баллов каждого...

Построчное чтение из файла. Разделение каждой строки на ФИО, ID и статус
public void getDATA(int PIN)//получить даннные из базы { string DB =...

Чтение части файла из файла и показ его в Image
Здравствуйте! Есть большой файл состоящий из записанных один за одним графических файлов. Данные записи (длины файлов итд) хранятся...

6
0 / 0 / 0
Регистрация: 21.01.2017
Сообщений: 29
23.11.2017, 23:00  [ТС]
UPD. Ещё при этом она должна удалять первые 24 байта в шестнадцатиричной системе включая 2-й TXP (1-й (этот после участка с 2-мя TXP) или 3-й (этот только в начале)).
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18295 / 14219 / 5368
Регистрация: 17.03.2014
Сообщений: 28,896
Записей в блоге: 1
24.11.2017, 07:24
tylers1121, что это за TXP заголовок и какой у него формат?
0
0 / 0 / 0
Регистрация: 21.01.2017
Сообщений: 29
24.11.2017, 08:10  [ТС]
OwenGlendower, это заголовок сжатой текстуры. При распаковке получается DDS файл с изображением со сжатием ATI2/DXTn (n - 1/3/5).
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18295 / 14219 / 5368
Регистрация: 17.03.2014
Сообщений: 28,896
Записей в блоге: 1
24.11.2017, 08:16
tylers1121, какой у них формат? Как можно понять где начало и конец нужных тебе блоков?
0
0 / 0 / 0
Регистрация: 21.01.2017
Сообщений: 29
24.11.2017, 16:02  [ТС]
OwenGlendower, всё, что будет представлено ниже - единый файл, прикреплённый к сообщению выше в архиве.

Начало файла (SPRC - 53 50 52 43, TXPC - 54 58 50 43 они мне не нужны):
Кликните здесь для просмотра всего текста
Code
1
2
3
4
5
6
7
8
9
53 50 52 43 E0 05 00 00 20 00 00 00 00 00 00 10
00 00 00 00 80 05 00 00 00 00 00 00 00 00 00 00
00 00 00 00 50 06 00 00 03 00 00 00 14 00 00 00
D0 00 00 00 00 00 00 00 90 04 00 00 00 00 00 00
F0 03 00 00 00 00 00 00 30 00 00 00 00 00 00 00
00 00 00 00 10 00 00 00 00 00 00 00 10 00 00 00
...
54 58 50 43 70 93 01 00 20 00 00 00 00 00 00 10
00 00 00 00 70 93 01 00 00 00 00 00 00 00 00 00


Дальше всё, что мне нужно:

Участок с тремя TXP (байты 54 58 50):
Кликните здесь для просмотра всего текста
Code
1
2
3
4
5
6
7
8
9
54 58 50 03 03 00 00 00 03 01 01 01 18 00 00 00
DC 02 00 00 20 43 01 00 54 58 50 04 02 00 00 00
02 01 01 01 14 00 00 00 2C 02 00 00 54 58 50 02
20 00 00 00 10 00 00 00 0B 00 00 00 00 00 00 00
00 02 00 00 00 00 00 00 00 00 00 00 FF FF 00 00
00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00
...
00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 
00 00 00 00


Потом участок с одним TXP (байты 54 58 50):
Кликните здесь для просмотра всего текста
Code
1
2
3
4
5
6
7
8
9
10
54 58 50 02 10 00 00 00 08 00 00 00 0B 00 00 00
01 00 00 00 80 00 00 00 80 80 00 00 00 00 00 00
80 80 00 00 00 00 00 00 80 80 00 00 00 00 00 00
80 80 00 00 00 00 00 00 80 80 00 00 00 00 00 00
80 80 00 00 00 00 00 00 80 80 00 00 00 00 00 00
80 80 00 00 00 00 00 00 80 80 00 00 00 00 00 00
80 80 00 00 00 00 00 00 80 80 00 00 00 00 00 00
80 80 00 00 00 00 00 00 80 80 00 00 00 00 00 00
80 80 00 00 00 00 00 00 80 80 00 00 00 00 00 00
80 80 00 00 00 00 00 00


Затем участок с двумя TXP (байты 54 58 50):
Кликните здесь для просмотра всего текста
Code
1
2
3
4
5
6
7
8
9
10
54 58 50 04 02 00 00 00 02 01 01 01 14 00 00 00
2C 00 01 00 54 58 50 02 00 02 00 00 80 00 00 00
0B 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
...
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00


Затем участок с одним TXP (байты 54 58 50):
Кликните здесь для просмотра всего текста
Code
1
2
3
4
5
6
54 58 50 02 00 01 00 00 40 00 00 00 0B 00 00 00
01 00 00 00 00 40 00 00 80 80 00 00 00 00 00 00
80 80 00 00 00 00 00 00 80 80 00 00 00 00 00 00
80 80 00 00 00 00 00 00 80 80 00 00 00 00 00 00
80 80 00 00 00 00 00 00 80 80 00 00 00 00 00 00
80 80 00 00 00 00 00 00 80 80 00 00 00 00 00 00


Последние два с TXP могут повторятся несколько раз. И при этом в разных файлах одинаковые только заголовки. Т.е. программа должна проверять на наличие от 1 до 3 заголовков на близком участке битов.
Может быть и так, что будет только первые два TXP (3 TXP и 1 TXP), а дальше их не будет.

В конце всё завершается EOFC (байты 45 4F 46 43)
Кликните здесь для просмотра всего текста
Code
1
2
45 4F 46 43 00 00 00 00 20 00 00 00 00 00 00 10
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00


Если так сказать, то в файле может быть (3 + 1) TXP + 3n TXP (где n - количество TXP 2 + 1 (n может быть равен 1, т.е. только одна комбинация 2+1)).

Нужно, чтобы все участки с TXP сохранялись в разные файлы в последовательности их содержания:
3 TXP
1 TXP
2 TXP
1 TXP
2 TXP
1 TXP и так далее
0
0 / 0 / 0
Регистрация: 21.01.2017
Сообщений: 29
25.11.2017, 16:28  [ТС]
OwenGlendower, надеюсь, что более-менее понятно, где начало, где конец и что мне нужно? Я сам не знаю как это сделать, вот и пришёл сюда.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.11.2017, 16:28
Помогаю со студенческими работами здесь

Чтение файла, и его выполнение
Всем доброго времени суток. Как прочесть файл и выполнить код, записанный в этом файле? Дан текстовый файл содержащий строки вида ...

Чтение из файла md5 и его проверка
Всем добрый день! Мучаюсь уже несколько дней с этой задачкой прошу помощи. ) В общем, программа должна читать из файла md5 и путь к...

Чтение файла с сайта, не скачивая его
Толи я слепой , но так и не нашёл как можно прочесть файл не качая его. нужно делать запрос get?

Чтение файла и помещение его в map
при запросе ключа выдается большое положительное(56664334242) или отрицательное значение (-7984242452), а должен быть string. ...

Чтение BMP файла и его обработка
Есть задание на изучение эффективного кодирования методом Шеннона-Фано. Для этого берётся фотография 128х128 пикселей, с глубиной цвета 256...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru