У меня есть байт, объявленный как unsigned int 0b11010101
, как я могу записать это в двоичный файл как 1 байт? Я знаю, что fwrite принимает тип const void *
в качестве буфера, но я не знаю, как писать свой байт, если он представлен как unsigned int.Напишите байт в файл в C
0
A
ответ
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); ** будет работать. –
Отправить указатель на него ... –
'0b11010101' не действует C. Вы используете GCC, случайно? – fuz
да, я использую gcc и компилирует отлично – unconditionalcoder