| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > записать массив данных в бинарный файл |
| Автор: alex_smirnov 8.8.2007, 14:59 |
| Уважаемые, имеется задачка: Допустим, имеется массив a[3][3]: 1 1 1 2 3 2 1 1 1 Как записать его в бинарный файл(видимо в формате ASCII)? я думаю, что это примерно так: fprintf(out, "???", a[i][j]); тогда какой формат использовать? ну не в 1 и 0 записывать же!) пишу на СИ. |
| Автор: Sartorius 8.8.2007, 15:16 | ||||
ты определись в бинарный или в ASCII. если в ASCII
|
| Автор: alex_smirnov 8.8.2007, 15:24 |
| в бинарный! добавлено: просто когда открываешь бинар в любом редакторе отображается аски символы, не так? |
| Автор: Sartorius 8.8.2007, 16:26 | ||
| когда говорят "бинарный файл" - то имеют в виду, что его содержимое соответствует внутреннему представлению данных, а не представлено в виде печатных ASCII - символов, после некоторых преобразований(которые в вашем случае выполняет printf()) binary файл в вашем случае можено было бы получеть вот так
|
| Автор: alex_smirnov 8.8.2007, 16:36 |
| спасибо большое за пояснения! |
| Автор: alex_smirnov 9.8.2007, 16:41 |
| интересно получается... при выводе одного и того же массива в файл получается, что: размер бинарного файла > размера текстового файла. чем можно объяснить этот феномен? |
| Автор: nickless 9.8.2007, 21:34 |
Размер int'а = 4 байта, если число там <= 9999 то соответственно строка будет занимать меньше места. |
| Автор: alex_smirnov 9.8.2007, 21:51 |
| ясно, спасибо! |