1、如果是数值类型,直接使用fprintf函数的%x参数就可以输出16进制的字符到文件。
如果是字符类型,用任何文件输出函数都可以。
2、例程:将数据输入到文件1.txt中并打开1.txt文件。
#include <stdio.h>
#include <stdlib.h>
FILE* stream;
int main()
{
int i = 15;
double fp = 1.5;
char s[] = "this is a string";
char c = '\n';
stream = fopen("1.txt", "w");
fprintf(stream, "%s%c", s, c);
fprintf(stream, "%x\n", i); //以16进制的方式输出数据15到文本1.txt当中
fprintf(stream, "%f\n", fp);
fclose(stream);
system("1.txt");
return 0;
}
扩展:控制参数列表
%d 十进制有符号整数
%u 十进制无符号整数
%f 浮点数
%s 字符串
%c 单个字符
%p指针的值
%e 指数形式的浮点数
%x, %X 无符号以十六进制表示的整数
%0 无符号以八进制表示的整数
%g 自动选择合适的表示法
{
FILE *pFout=NULL;
char buf[100];
pFout=fopen(file_out,"w");
sprintf(buf,"%02x",data);
fputs(buf,pFout);
fclose(pFout);
}
void putHex(unsigned char data)
{
FILE *pFout=NULL;
char buf[100];
pFout=fopen("file.hex","a");
if(pFout == NULL)
{
printf("Open file %s failed\n","file.hex");
return;
}
sprintf(buf,"%c",data);
printf("%s\n",buf);
fputs(buf,pFout);
fclose(pFout);
}
int main(int argc, char* argv[])
{
putHex(0xf1);
putHex(0xf2);
putHex(0xf3);
return 0;
}