потоковая запись в файл

Модераторы: Romeo, Hawk, Absurd, WinMain, DeeJayC

Ответить
eugira
Сообщения: 14
Зарегистрирован: 16 ноя 2006, 18:48

потоковая запись в файл

Сообщение eugira » 06 авг 2007, 15:23

Примитивный и в то же время непонятный мне момент по поводу записи в потоке в файл
Вещественных или целых чисел
Классический код, приведённый в HELPe С++ Builder или в книгах Архангельского
FILE *fl=fopen("testI.txt","wb");
int i=13;
fwrite(&i, sizeof(int),1,fl);
fclose(fl);

не работает – в файл пишется ерунда –что0то типа типа []
Аналогично с кодом типа
Float x=3.5;
fwrite(&x, sizeof(float),1,fl);
Почему?
Е.Багоцкий

Absurd
Сообщения: 1213
Зарегистрирован: 26 фев 2004, 13:24
Откуда: Pietari, Venäjä
Контактная информация:

Re: потоковая запись в файл

Сообщение Absurd » 06 авг 2007, 15:37

OMG, А Вы понимаете разницу между двоичным и текстовым представлением int? Вы записали int в двоичном Big Endian виде - это четыре байта 0x0D, 0x00, 0x00, 0x00. Все правильно.
2B OR NOT(2B) = FF

Absurd
Сообщения: 1213
Зарегистрирован: 26 фев 2004, 13:24
Откуда: Pietari, Venäjä
Контактная информация:

Re: потоковая запись в файл

Сообщение Absurd » 06 авг 2007, 15:39

PS: Запись в текстовом виде, йаъ сегодня добрый:

FILE *fl=fopen("testI.txt","wa");
int i=13;
fprintf(fl, "%i\n", i);
fclose(fl);
2B OR NOT(2B) = FF

Ответить