C语言,我想把一个二进制文件用ascii形式输出。编写了以下的程序,但是输出结果不对。求教

//yunghu.cpp:Definestheentrypointfortheconsoleapplication.////wenben.cpp:Definestheen... // yunghu.cpp : Defines the entry point for the console application.
//

// wenben.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"

int _tmain(int argc, _TCHAR* argv[])
{FILE *fp,*sp;
char ch,fpfile[10],spfile[10];
printf("Enter the fpfile name:\n");
scanf("%s",fpfile);
printf("Enter the spfile name:\n");
scanf("%s",spfile);
//if((fp=fopen(fpfile,"r"))==NULL)
if((fp=fopen(fpfile,"rb"))==NULL)
{printf("cannot open fpfile\n");
}
if((sp=fopen(spfile,"w"))==NULL)
{printf("cannot open spfile\n");
}
while(!feof(fp)) fputc(fgetc(fp),sp);
fclose(fp);
fclose(sp);
return 0;
}
展开
 我来答
frpnbc
2010-11-30 · TA获得超过2300个赞
知道小有建树答主
回答量:1096
采纳率:100%
帮助的人:891万
展开全部
不可能,格式不是一样的。不是你想象的那种格式。
因为BMP中的数据,并不是靠
--\--+--/--

┏━━━━━━━━━━oOo━(__)━oOo━┓
)
┗━━━━━━━━━━━━━━━━━━┛
┏━━━━┓ ┏━━━━┓
┃┃ ┃ ┃
┗━━━━┛ ┗━━━━┛

而是用二进制表示的,可以用notepad++,或者ue打开看看,符合一定要求的。


--\--+--/--

┏━━━━━━━━━━oOo━(__)━oOo━┓
)
┗━━━━━━━━━━━━━━━━━━┛
┏━━━━┓ ┏━━━━┓
┃┃ ┃ ┃
┗━━━━┛ ┗━━━━┛

这些本身就是符号文件。比如 - \ + 这些本身就代表的是char字符型,有专门的ascii与之对应,这些转换为二进制与 BMP图像转换为2进制所代表的意义,是不一样的。

所以不能想你说的那样转化。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式