c语言如何以输出16进制字符到文件

例如我想输出16进制字符串”F0F1F2“,怎么写程序。需要的效果如图... 例如我想输出16进制字符串”F0 F1 F2“,怎么写程序。需要的效果如图 展开
 我来答
刺友互
高粉答主

2019-06-20 · 每个回答都超有意思的
知道答主
回答量:3979
采纳率:100%
帮助的人:73.2万
展开全部

1、首先,定义一个字符串变量char和asc,保存转换的字符和转换后的16进制数。

2、定义一个整型变量n,保存字符的ASCII码。

3、给字符char赋值,其值为字符i。

4、将字符char转换为ASCII码,并保存在n中。

5、字符的ASCII码,进一步转换为16进制数,并保存在变量asc中。

6、最后,输出字符转换为16进制数后的数值。

7、运行程序,代码中的字符i,已成功转换为16进制数。

tattackor
推荐于2017-09-22 · TA获得超过3.5万个赞
知道大有可为答主
回答量:5083
采纳率:94%
帮助的人:892万
展开全部

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 自动选择合适的表示法

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Cy158358
推荐于2017-09-29 · 超过14用户采纳过TA的回答
知道答主
回答量:58
采纳率:0%
帮助的人:36.9万
展开全部
void outputHex(unsigned int data)
{
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;

}

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式