文件问题:不能正确显示printf,为什么?

shuirh 2009-01-08 02:43:51
#include<stdio.h>

main()
{
FILE *fp;
char buffer[10]="beijing";

if((fp=fopen("testfile.txt","w"))==NULL)
{
printf("can't open file\n");
exit(1);
}

if(fwrite(buffer,strlen(buffer),1,fp)!=1)
{
printf("write file failed\n");
exit(1);
}

if(fread(buffer,strlen(buffer),1,fp)!=1)
{
printf("read file failed\n");
exit(1);
}

printf("%s\n",buffer);

fclose(fp);

}

屏幕上显示 屯屯屯 testfile.txt中显示 beijing屯屯屯
这是为什么????
...全文
99 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
shuirh 2009-01-08
  • 打赏
  • 举报
回复
哦,明白了,谢谢大家了。
baihacker 2009-01-08
  • 打赏
  • 举报
回复
#include <stdio.h> 
#include <stdlib.h>
#include <string.h>
main()
{
FILE *fp;
char buffer[10]="beijing";

if((fp=fopen("testfile.txt","w"))==NULL)
{
printf("can't open file\n");
exit(1);
}

if(fwrite(buffer,strlen(buffer),1,fp)!=1)
{
printf("write file failed\n");
exit(1);
}
fclose(fp);
if((fp=fopen("testfile.txt","r"))==NULL)
{
printf("can't open file\n");
exit(1);
}
if(fread(buffer,strlen(buffer),1,fp)!=1)
{
printf("read file failed\n");
exit(1);
}

printf("%s\n",buffer);

fclose(fp);

}
lann64 2009-01-08
  • 打赏
  • 举报
回复
呵呵,以后小心点。读文件用r模式
baihacker 2009-01-08
  • 打赏
  • 举报
回复
fopen("testfile.txt","w")

见你的打开模式.

一般是关了后重新以读模式打开.

弄成wr也可以,不过有些问题要注意的.

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧