我要用c语言编写一个打开一个txt文件的程序,要将里面的内容准确的显示在命令窗口。
展开全部
读文本文件建议用 fgets,它会一行一行的把文件内容读出,下面的作参考!
char buf[128];
FILE *fp = fopen("a.txt", "r");
while(NULL != fgets(buf, 128, fp))
printf("%s", buf);
fclose(fp);
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;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询