fscanf函数?fscanf在c语言中代表什么
一、Matlab中fscanf的用法是什么
%f,%f,%f这个与c语言格式定义是一样的,就是一次读3个float型的数据,
用%f,%f就是一次读2个float型的数据。
data_1是矩阵,3*无限的矩阵,
语句里[3,inf]就是循环读数据文件,一次读3个数,读到文件结束符结束,这样,自动定出data_1矩阵大小。
用'%f,%f‘代替会怎么样呢---数据里的逗号会有问题。
如果用空白分隔
data_1=fscanf(fid,'%f%f%f',[3,inf]);
或
data_1=fscanf(fid,'%f',[3,inf]);
结果一样。
如果是:
data_1=fscanf(fid,'%f%f',[3,inf]);
数据不是2的公倍数(例如是9个),最后一个元素用0填。
二、关于matlabfscanf函数
你可以用一个while循环来实现,还有你的fscanf错了,你每次只读一个就好了,你加了‘,’它会在文本中找对应的‘,’所以最好用一个循环来实现,停止条件是遇到EOF
三、fscanf函数%c指针不动
在读取数据成功时会移动。C语言中,对文件指针会产生移动作用的函数包括:
1读函数:fread,fgetc,fgets,fscanf等。执行读操作时,指针向后移动,移动距离为实际读到的字节数。
2写函数:fwrite,fputc,fputs,fprintf等。执行写操作时,指针向后移动,移动距离为实际写入的字节数。3指针移动函数:fseek,rewind等。按照函数功能,自由移动文件指针。fscanf在读取数据成功时,即返回值>0时,会移动文件指针。如返回值<=0,代表读操作失败,不会产生指针移动。