您的位置:首页 > 编程语言 > C语言/C++

C++用fscanf()函数读取TXT文件内容

2016-11-12 16:26 337 查看
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\n",&x[i], &y[i], &z[i]);//%lf之间应该有逗号,因为没有逗号只能读第一个数。用&是因为要把数存到对应数组元素的地址中去。\n是换行读取
}
fclose(fq);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: