2015-11-25 2 views
0

У меня есть байт, объявленный как unsigned int 0b11010101, как я могу записать это в двоичный файл как 1 байт? Я знаю, что fwrite принимает тип const void * в качестве буфера, но я не знаю, как писать свой байт, если он представлен как unsigned int.Напишите байт в файл в C

+0

Отправить указатель на него ... –

+0

'0b11010101' не действует C. Вы используете GCC, случайно? – fuz

+0

да, я использую gcc и компилирует отлично – unconditionalcoder

ответ

3

Возможно, вам лучше не писать один байт int из-за суждения. Сначала конвертировать в unsigned char.

unsigned int intval = 0b11010101;  // assuming compiler likes it 
unsigned char charval = intval; 
fwrite (&charval, 1, 1, stream); 
+0

Я использовал ** fprintf() ** для записи двоичных файлов. ** unsigned int val = 0b11010101; ............ fopen (...); ............ fprintf (fp, "% c", val); ** будет работать. –