请帮我看看下面这段读文件的程序,不知为什么,总无法读取文件内容
#include "stdio.h" void main() { FILE *fp; fp=fopen("data.txt","r" ); if (fp==NULL) { printf("FILE cannot be opened\n"); exit(1); } else { printf("FILE opened for reading\n"); fclose(fp); } }
请帮我看看下面这段读文件的程序,不知为什么,总无法读取文件内容
#include "stdio.h" void main() { FILE *fp; fp=fopen("data.txt","r" ); if (fp==NULL) { printf("FILE cannot be opened\n"); exit(1); } else { printf("FILE opened for reading\n"); fclose(fp); } }
因为你没有使用读语句。参考下面: #include "stdio.h" void main() { FILE *fp; fp=fopen("data.txt","r" ); if (fp==NULL) { printf("FILE cannot be opened\n"); exit(1); } else { printf("FILE opened for reading\n"); /* 添加类似下面的语句*/ { int a; fscanf("%d",&a); // 读一个整数赋给变量a fprintf("%d",a); } fclose(fp); } }
/* 添加类似下面的语句*/ { int a; fscanf("%d",&a); // 读一个整数赋给变量a fprintf("%d",a); }
fscanf 和 fprintf 没有文件指针参数行不行的啊?
还没想到,不过提醒exit()函数要用#include <stdlib.h>头文件
刚才用VC编译了一下,通过了,显示“file opened for reading”你可能放错了位置而已。
刚才又编译了一次,加了几行代码,没问题的。代码如下:
ifstream live41("data.txt", ios::nocreate); //读入文件,对象化命名为live41 while(live41.good()) { char ch = 0; live41.get(ch); //读文件里面的字符,每读一个就写给ch变量 cout << ch; } live41.close();
忘了说,这个ifstream类要用头文件fstream.h,我用的是VC,不知turbo C有没有
[此贴子已经被作者于2004-08-08 16:59:37编辑过]
对不起,我疏忽了,在fscanf后面忘写文件指针了。文件读写示例: // 从文件中读 FILE * f1=fopen("t1.dat","r") int a; fscanf(f1,"%d",&a); // 读一个整数赋给变量a fprintf("%d",a); // 输出检查a fclose(f1); // 向文件写入 FILE * f2=fopen("t2.dat","w") int b=34; fprintf(f2,"%d",b); // 向文件写入一个整数b fclose(f2);