[an error occurred while processing this directive]
|
Допустим надо записать в файл на диске какой-то буфер из памяти проца.
Делаю так:
FILE *f;
int buf[0x100];
f=fopen("buf.txt","w+b");
memset(buf,0xCABD,sizeof(int)*0x100);
i=fwrite(buf,sizeof(int),0x100,f);
fclose(f);
Вот результат:
0000000000: BD BD BD BD BD BD BD BD , BD BD BD BD BD BD BD BD
0000000010: BD BD BD BD BD BD BD BD , BD BD BD BD BD BD BD BD
...
00000000F0: BD BD BD BD BD BD BD BD , BD BD BD BD BD BD BD BD
Тоесть сохраняется только младший байт 16-битных слов.
Я понимаю что функции fwrite,write на вход хотят 8-битный char, а где его взять если есть только 16-битный char ???
Кто знает как сохранять правильно весь буфер "как он есть" в файл ?
П.С. Извиняюсь за мусор в форуме, проблема с кодировкой...
E-mail: info@telesys.ru