我要用c语言编写一个打开一个txt文件的程序,要将里面的内容准确的显示在命令窗口。

我编写的程序是使用的fread可以一排一排的读取内容,可是出来的是一团乱码!... 我编写的程序是使用的fread可以一排一排的读取内容,可是出来的是一团乱码! 展开
 我来答
furious_tauren
推荐于2017-10-06 · TA获得超过4055个赞
知道大有可为答主
回答量:1913
采纳率:100%
帮助的人:765万
展开全部
读文本文件建议用 fgets,它会一行一行的把文件内容读出,下面的作参考!
char buf[128];
FILE *fp = fopen("a.txt", "r");
while(NULL != fgets(buf, 128, fp))
printf("%s", buf);
fclose(fp);
追问
我把程序传上来了,可以帮我看看吗?谢谢!
追答
fread也可以,一定是输出时弄错了!fread把内容读到 内存后,输出是需要考虑的问题!
你的buf读满后没有'\0'作字符串结束,所以以%s输出时会产生问题的!你需要保留一位,使其内容恒定为'\0'

#include

int main(void)
{
char buf[128] = {0}; // 这里要都初始化为0
FILE *fp = fopen("a.txt", "r");
while (0 != fread(buf, 1, 127, fp)) // 这里不能读满,最大只能用127
{
printf("%s", buf);
memset(buf, 0, 128); // 这里每次都要清0
}
fclose(fp);
return 0;
}
彭格列Ⅹ袋面
2011-10-11
知道答主
回答量:3
采纳率:0%
帮助的人:5034
展开全部
文件的格式是什么,如果是2进制的文档, 则需要相应的2进制解析代码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式