用c语言如何建立一个文本文件

建立完文件以后,但是要输出的时候却的不到正确的结果为,例如:void find() 烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫
我认为是把空格当成了"烫",请各位高手帮忙解决一下这个问题~

读文件是这样的:
#include "stdlib.h"
main()
{
FILE *fp;
char buf;
fp=fopen("a.txt","r");
while(fread(&buf,1,1,fp))
printf("%c ",buf);
fclose(fp);
}
写文件是这样的:
#include "stdlib.h"
main()
{
FILE *fp;
char buf;
fp=fopen("a.txt","w");
while((buf=getchar())!='q')
fwrite(&buf,1,1,fp);
fclose(fp);
}

PS:这里buf缓冲区只开了一个字节,做个例子,你可根据需要变化.
你的问题可能原因是:输出内容超过了你的缓冲区.
比如:你读出10个字节,甚至可能没读出,而你打印100个字节,后面的就很有可能是"烫".应该不是2进制的问题.
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-03
文本文件
读文件:
#include "stdlib.h"
main()
{
FILE *fp;
char buf;
fp=fopen("a.txt","r");
while(fread(&buf,1,1,fp))
printf("%c ",buf);
fclose(fp);
}
写文件:
#include "stdlib.h"
main()
{
FILE *fp;
char buf;
fp=fopen("a.txt","w");
while((buf=getchar())!='q')
fwrite(&buf,1,1,fp);
fclose(fp);
}
相似回答