文件读取
main(){
char dd;
FILE *fp; //文件指针
fp=fopen("h:\\tools\\fg.ini","r");//读取文件,r表示读取.
while(!feof(fp))//当不为文件最后时
{
fscanf(fp,"%s",dd );//fscanf输入/读取文件内容
printf("%s\n",dd);//打印 读取的内容
}
getch();
}
==============================================================
以上程序正常运行.
我想改成一个有提示的程序,就是自己输入路径+文件名 ,可是不成功,程序崩溃.main()
{
char data;
char * fname;
FILE *fp;
printf("pls input the file path and name!\n");
scanf("%s",fname);
printf("%s",fname);
fp=fopen(fname,"r");
while(!feof(fp))
{
fscanf(fp,"%s",data);
printf("%s\n",data);
fclose(fp);
}
getch();
} 是fopen那里错了吗?只能跟常量吗 第十行的那个r是干嘛的。。。
我记不清了。。。
不过,楼主愿意动脑筋,还是要表扬一下的。 很负责地告诉楼主、、您冤枉 fopen() 了、、、/:017
程序崩溃是因为楼主的fname没有开辟空间、、、、 又看了一下楼主的程序、、发现楼主太粗心了
fclose(fp) 应该放在while(){}循环的外面吧、、、、
否则楼主的程序就是死循环,并且只能读出文件中的第一个字符串
还有就是楼主在程序最后的 getch() 用法不对、、估计是通不过编译的
====================================================================
俺不理解程序的最后的那个 getch() 是干什么用的、、
希望楼主能告诉一下、、相互交流哈 第十行的那个r是干嘛的。。。
我记不清了。。。
不过,楼主愿意动脑筋,还是要表扬一下的。
武子 发表于 2010-8-8 01:13 https://www.chinapyg.com/images/common/back.gif
‘r’表示只读、、、就是对打开的文件只能读,不能写、、、
不知道我这样说的能不能被理解、、、
===============================================
‘w’表示写
'rb' 表示以二进制的形式打开文件并且只读
'wb'表示以二进制的形式打开文件并且可写入 嗯,我想起来啦 r
xiexie楼上的。 回复 4# tims
getch()应该是为了读取一个空格吧。。。
防止程序一闪而过,,,没有界面。。。 回复 7# 武子
我把 getch() 去掉了才能编译通过啊、、
我把它改成 getchar() 也能通过、、(楼主原意是要用这个吧?)
不过感觉加不加这一句没啥影响啊、、
我没出现一闪而过的情况、、、
是不是在 TC 中会出现这种情况啊(我没用过TC)、、
我用的是VC、重来没有一闪而过的时候、、
页:
[1]