![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 10.07.2021
Сообщений: 2
|
![]()
Бьюсь уже второй день, ничего не работает. И код из этого обсуждения (https://stackoverflow.com/questions/...nary-file-in-c) тем более. Получается считывать данные из txt файла, а вот с бинарным полный провал... Вкратце, имеется некий входной txt-файл, где записаны числа. Строк может быть любое количество(в строке по числу 3-4).
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 04.02.2011
Сообщений: 4,708
|
![]()
Странный какой-то пример приведён.
Я так понимаю: на входе - текстовый файл с числами, на выходе - файл с теми же числами, но в бинарном представлении? Нужно определиться, какие числа будут на выходе - int? long int ? Считанную строку преобразовать в число и уж нужное число байт числа писать в бинарный. На простом С без плюсов это бы звучало так (не уверен за давностью): Код:
Наоборот - таким же способом. Как-то так. |
![]() |
![]() |
![]() |
#3 |
Новичок
Джуниор
Регистрация: 10.07.2021
Сообщений: 2
|
![]()
вот мой пример, все работает за исключением обратного вывода из бин файла
https://pastebin.com/sKXS36vs для переноса строки я использую флаг NAN но когда идет обратное преобразование, я не могу избавиться от нан, он тоже печатается вместе с переносом строки |
![]() |
![]() |
![]() |
#4 |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,063
|
![]() Код:
I am not a wizard, I am just learning.
|
![]() |
![]() |
![]() |
#5 |
Заблокирован
Регистрация: 17.12.2018
Сообщений: 514
|
![]() Код:
Последний раз редактировалось taras-proger77; 06.08.2021 в 12:33. |
![]() |
![]() |
![]() |
#6 |
Заблокирован
Регистрация: 17.12.2018
Сообщений: 514
|
![]() |
![]() |
![]() |
![]() |
#7 |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,063
|
![]()
Не нужен где именно?
I am not a wizard, I am just learning.
|
![]() |
![]() |
![]() |
#8 |
Заблокирован
Регистрация: 17.12.2018
Сообщений: 514
|
![]()
В этой задаче. Для конвертации файла в файл в форматах, хранящих некоторое количество несвязанных отдельных значений, без оптимизации дисковых операций на уровне прикладного кода достаточно дёргать каждое значение, а контейнерные типы не нужны. Вот если бы задача была конвертировать растр из bmp в png или чертёж из бинарного формата в текстовый, тогда чтение всего файла может быть оправдана. Или если бы стояла задача оптимизации дисковых операций. А если каждый из файлов на два-три порядка больше оперативной памяти? Всё равно будете целиком читать? Или запихаете ещё и в промежуточный файл виртуальной памяти? А если каждый из файлов на порядок больше даже не фактического размера физической оперативной памяти, а адресного пространства оперативной памяти? Всё равно приметесь целиком читать?
Последний раз редактировалось taras-proger77; 13.08.2021 в 06:33. |
![]() |
![]() |
![]() |
#9 |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,063
|
![]()
Ваше решение конечно же шедевр, спору нет.
Выполняется даже ОЗУ не нужно, просто класть туда нет чего ![]() P. S. Для больших объемов данных есть функция malloc, позволяет читать данные блоками заданного размера. Полезно при ограниченных ресурсах.
I am not a wizard, I am just learning.
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Переделавание кода на считывание из файла в файл output.txt input.txt !!! | airesjke | Помощь студентам | 0 | 29.05.2013 14:07 |
Конвертация float->string и наоборот | qwerty_kap | Общие вопросы C/C++ | 1 | 28.05.2012 10:34 |
конвертация int16[] to byte[] и наоборот | Teksa | Общие вопросы .NET | 5 | 20.07.2010 09:27 |