Имя пользователя:
Пароль:
 

Название темы: Бинарные файлы
Показать сообщение отдельно
pva pva вне форума

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


Цитата Admiral:
Тогда мне не понятно, почему находясь в памяти компьютера эти данные имеют читабельный вид, а сохраняясь в файл преображаются в не читаемый вид? »
Дело в том, что во время чтения "в читабельном виде", эти данные реально находятся в памяти (программа-просмотрщик перед отрисовкой на экран читает их из файла), а "читабельность" зависит от представления данных в программе. Например:
Код: Выделить весь код
union
{
   double d;
   char c[8];
} value1;

value1.d = 0.1;
// используем одну и ту же память:
printf("%8s", value1.c); // получим галиматью
printf("%8lf", value1.d); // получим красоту
printf("%8ld", value1.d); // в "с" это можно сделать :( получим галиматью

// получим 16-ричное представление памяти, в которой лежит double(0.1)
cout << hex << setfill('0') ;
for(unsigned i=0; i<8; ++i) cout << setw(2) << static_cast<unsigned>(reinterpret_cast<unsigned char>(c[i])) << " ";
Цитата Admiral:
А почему именно 20? У нас ведь массив на 109. »
задавая структуру row_t я ограничил размер неделимого блока файла (сохранающий работоспособность программы) до 365 байт. Других ограничений нет. Можно загрузить за раз 20 строчек, можно 50, а можно 1. Главное соблюдать в программе нерушимость памяти.
Цитата Admiral:
Чёткость не меньше/не больше, в данном случаи в файле 20 строк, не совсем согласуется с тем, что данные в файле могут свободно обновляться, в том числе сторонней программой, например через блокнот пользователём »
Если пользователю давать работать с файлом только через программу, то всё будет ок! А уронить ручкми можно любой файл.
Цитата Admiral:
К сожалению отображение не получилось в виде чёткой таблицы (применяемы файл данных и код программы, для чистоты эксперимента, без исправлений вывода, во вложении). »
Я поправил файл (нам строчки были разной длины). В скриншоте всё выглядит достаточно ровно

Последний раз редактировалось pva, 25-02-2012 в 11:59.

Это сообщение посчитали полезным следующие участники:

Отправлено: 08:55, 23-04-2009 | #9

Название темы: Бинарные файлы