将当前目录下的jsgc01.txt文件内容读取出来并显示在屏幕上。

JavaScript014

将当前目录下的jsgc01.txt文件内容读取出来并显示在屏幕上。,第1张

第一个:"w"的意思是打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。你用这个模式打开文件怎么读都读不出东西来啦。可以改成只读模式:

fp = fopen("jsgc01.txt","r")

第二个:fgetc读到文件末尾会返回-1,因此就算读完所有内容了ch的值还是-1,while循环仍然不会跳出,死循环一个。改成while (ch!=-1)或者while (ch!=EOF)

#include <stdio.h>

#include <stdlib.h>

int main(void)

{

FILE *fp

int ch

/*********Found************/

fp = fopen("jsgc01.txt", "r")//这里把w改成r,表示允许读操作

if (NULL == fp)

{

printf( "Cannot open file!\n")

exit(1)

}

ch = fgetc(fp)

/*********Found************/

while (ch != EOF) //EOF是文件结束标志

{

putchar(ch)

ch = fgetc(fp)

}

printf("\n")

fclose(fp)

return 0

}