如何使用C将二进制整数作为十六进制写入二进制文件

时间:2010-11-23 00:07:58

标签: c

我有一个整数,使用fscanf从文件中检索。 如何将其作为十六进制的双字节整数写入二进制文件?

4 个答案:

答案 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);