C++用fscanf()函数读取TXT文件内容
fscanf()函数的头文件是<stdio.h>,函数原型为int fscanf(FILE*stream, constchar*format, [argument...]); 其功能为根据数据格式(format)从输入流(stream)中写入数据(argument);与fgets的差别在于:fscanf遇到空格和换行时结束,注意空格时也结束,fgets遇到空格不结束。
Ex:
现在有这样一个数据文件,想用fscanf函数读取,每列作为一个数组:
1.000000e+000 2.000000e+000 -3.000000e+000
2.000000e+000 3.000000e+000 -2.000000e+000
3.000000e+000 4.000000e+000 -1.000000e+000
4.000000e+000 5.000000e+000 0.000000e+000
5.000000e+000 6.000000e+000 1.000000e+000
6.000000e+000 7.000000e+000 2.000000e+000
7.000000e+000 8.000000e+000 3.000000e+000
8.000000e+000 9.000000e+000 4.000000e+000
9.000000e+000 1.000000e+001 5.000000e+000
1.000000e+001 1.100000e+001 6.000000e+000
代码如下:
# include <iostream> int main(void){ FILE *fq; double x[10], y[10], z[10]; fq=fopen("step.dat" ,"rt+");//"rt+"是打开一个文本文件,可以读写。 for (int i=1; i<=10; i++){ fscanf(fq,"%lf ,%lf ,%lf ",&x[i], &y[i], &z[i]);//%lf之间应该有逗号,因为没有逗号只能读第一个数。用&是因为要把数存到对应数组元素的地址中去。 是换行读取 } fclose(fq); return 0; }
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: C++中读写txt文件并分离字符
- 下一篇: C++从指定目录读取txt文件内容