fscanf(fscanf函数返回值)

http://www.itjxue.com  2023-01-25 12:47  来源:未知  点击次数: 

关于matlab fscanf函数

matlab中的fscanf的用法如下:

a=fscanf(fid,format)

[a,

count]=fscanf(fid,format,size)

[a,

count]=fscanf(fid,format,size)

个人感觉用的最多的是

这样的形式:

data

=

fscanf(fid,format,size);

其中data为读取内容的数组,大小由size决定。size是一个[m

n]的向量,

m为行,n为列(注意,这里读取的顺序是按列优先排列的,不明白的话可以看

下面的例子),若n取inf表示读到文件末尾。fid为fopen打开文件的返回值,

format是格式化参数(像printf、scanf)。

举个小例子:

路径+文件名:d:\moon.txt

内容:13,1,3.4

3,2.1,23

1,12,2

4,5.4,6

现在为了读取moon中的数据存在一个数组里,可以用如下方法

fid=fopen('d:\moon.txt');

data_1

=fscanf(fid,'%f,%f,%f',[3,inf])

;%这里得用单引号

data_2

=fscanf(fid,'%f,%f,%f',[2,inf])

data_3

=fscanf(fid,'%f,%f,%f',[2,2])

fclose(fid);

这时data_1,

data_2,

data_3分别是一个数组,其内容分别如下:

data_1

13

3

1

4

1

2.1

12

5.4

4

23

2

6

data_2

13

3.4

2.1

1

2

4

1

3

23

12

4,5

6

data_3

13

3.4

1

3

由此可见,读数据的时候,从多维数组的水平方向,一个一个读取,传递给新的数组时,从列方向优先。

Matlab中fscanf的用法

matlab中的fscanf的用法如下:

A=fscanf(fid,format)

[A,

count]=fscanf(fid,format,size)

[A,

count]=fscanf(fid,format,size)

个人感觉用的最多的是

这样的形式:

data

=

fscanf(fid,format,size);

其中data为读取内容的数组,大小由size决定。size是一个[m

n]的向量,

m为行,n为列(注意,这里读取的顺序是按列优先排列的,不明白的话可以看

下面的例子),若n取inf表示读到文件末尾。fid为fopen打开文件的返回值,

format是格式化参数(像printf、scanf)。

举个小例子:

路径+文件名:d:\moon.txt

内容:13,1,3.4

3,2.1,23

1,12,2

4,5.4,6

现在为了读取moon中的数据存在一个数组里,可以用如下方法

fid=fopen('d:\moon.txt');

data_1

=fscanf(fid,'%f,%f,%f',[3,inf])

;%这里得用单引号

data_2

=fscanf(fid,'%f,%f,%f',[2,inf])

data_3

=fscanf(fid,'%f,%f,%f',[2,2])

fclose(fid);

这时data_1,

data_2,

data_3分别是一个数组,其内容分别如下:

data_1

13

3

1

4

1

2.1

12

5.4

4

23

2

6

data_2

13

3.4

2.1

1

2

4

1

3

23

12

4,5

6

data_3

13

3.4

1

3

由此可见,读数据的时候,从多维数组的水平方向,一个一个读取,传递给新的数组时,从列方向优先。

C语言中fscanf是什么

功 能: 从一个流中执行格式化输入\x0d\x0a 用 法: int fscanf(FILE *stream, char *format,[argument...]);\x0d\x0a int fscanf(文件指针,格式字符串,输入列表);\x0d\x0a 返回值:整型,数值等于[argument...]的个数\x0d\x0a 程序例:\x0d\x0a #include \x0d\x0a #include \x0d\x0a int main(void)\x0d\x0a {\x0d\x0a int i;\x0d\x0a printf("Input an integer: ");\x0d\x0a if (fscanf(stdin, "%d", i))\x0d\x0a printf("The integer read was: %d\n",\x0d\x0a i);\x0d\x0a else\x0d\x0a {\x0d\x0a fprintf(stderr, "Error reading an \\x0d\x0a integer from stdin.\n");\x0d\x0a exit(1);\x0d\x0a }\x0d\x0a return 0;\x0d\x0a }\x0d\x0a 返回EOF如果读取到文件结尾。

(责任编辑:IT教学网)

更多