我有一个整数,使用fscanf从文件中检索。 如何将其作为十六进制的双字节整数写入二进制文件?
答案 0 :(得分:3)
这会将一个短整数写入二进制文件。结果是2个字节的二进制数据(字节顺序取决于系统)。
int main(int argc, char* argv[])
{
short i;
FILE *fh;
i = 1234;
fh = fopen( argv[1], "wb" );
fwrite( &i, sizeof( i ), 1, fh );
fclose(fh);
}
答案 1 :(得分:0)
fprintf(fpout,"%X",input_int);
答案 2 :(得分:0)
答案 3 :(得分:0)
你的意思是你只想在文件中有两个字节,如"\x20\x20"
,而不是"0x2020"
中的文字?
假设你的变量很短。 (sizeof(short) == 2)
第一个:fwrite((const void*)&variable, sizeof(variable), 1, file);
第二个:fprintf(file, "%#06x", variable);