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();}
你要先建立一个文件,在来访问它,这里 我建立的文件在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();
}
#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();
}
#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();
}
改成这样就对了。