帮忙看看这段程序有什么错误?

2025-02-23 22:58:58
推荐回答(4个)
回答1:

filename应该为文件的路径,fopen的第二个参数为r,代表 以只读方式打开文件且该文件必须存在。如下所示,其中c盘必须有test.txt这个文件,否则打开文件失败。还有,只有在打开文件成功的情况下,才有读取文件内容的操作。
void main(){ FILE *fp; char *filename="C:/test.txt"; if((fp=fopen(filename,"r"))==NULL) printf("Cannot open the file!\n"); else{
printf("Open file seccess!\n"); char ch=fgetc(fp); while(ch!=EOF) { putchar(ch); ch=fgetc(fp); }fclose(fp);
} getchar();}

回答2:

你要先建立一个文件,在来访问它,这里 我建立的文件在D盘;

#include

#include

#include


void main()

{


FILE *fp;

char ch;    //定义要在开始定义,不要在后面定义

char *filename="d:\\nihao.txt";      //这里是文件的路径

if((fp=fopen(filename,"rt"))==NULL)

{

printf("Cannot open the file!\n");

   exit(1);

}

else

printf("Open file seccess!\n");

ch=fgetc(fp);

while(ch!=EOF)

{

putchar(ch);

ch=fgetc(fp);

}

    fclose(fp);

getchar();


}

回答3:


#include
#include

void main()
{

FILE *fp;
char *filename="test";
char ch;  //声明
if((fp=fopen(filename,"r"))==NULL)  //filename用具体的文件名
{
printf("Cannot open the file!\n");
exit(0); //打开失败要退出 不然执行到fclose(fp)会崩溃
}
else
printf("Open file seccess!\n");
ch=fgetc(fp);  //声明放到前面
while(ch!=EOF)
{
putchar(ch);
ch=fgetc(fp);
}
    fclose(fp);
getchar();

}

回答4:

#include "stdafx.h"
#include
#include

void main()
{

FILE *fp;
char filename[20];
printf("Please Input FileName:\n");
gets(filename);
if((fp=fopen(filename,"r"))==NULL)
printf("Cannot open the file!");
else
printf("Open file seccess!");
char ch=fgetc(fp);
while(ch!=EOF)
{
putchar(ch);
ch=fgetc(fp);
}
fclose(fp);
getchar();

}

改成这样就对了。