fclose(fid);
fid=fopen('test.txt','r');
A1=fscanf(fid,'%c',30)
A2=fscanf(fid,'%f,%f,%f',[30 Inf]) //A2应输出一数组但只有几个字符
fclose(fid);
text.txt文件内容如下
This is a Formated file
1 +8.414710e-001 +5.403023e-001
2 +9.092974e-001 -4.161468e-001
3 +1.411200e-001 -9.899925e-001
4 -7.568025e-001 -6.536436e-001
5 -9.589243e-001 +2.836622e-001
想请问一下A2那行哪里错了,但A1能正常输出这是为啥?
试了,但还是不行输出是A2=[],另外中间是用空格隔开的不是回车符
追答我上面的程序是根据你给的test.txt(把你的数据复制粘贴到记事本中)来写的,经测试正常,如果你确定中间使用空格隔开的话,就用
fid=fopen('test.txt','r');
A1=fscanf(fid,'%c',26)
A2=fscanf(fid,'%f %f %f',[3 inf])
fclose(fid);
但还是这样啊。。。。那个我用的是2010b的版本。。。
把text.txt这个文档传上来
追问txt发不过来,但有创建它的代码:
最后一行加上 fclose(fid); 另外抱歉了。。。代码直接打会超字数。。。
你为什么要用\b(backspace)呢,这个又不是空格的意思,要用空格的话直接空格就行了
count=fprintf(fid,' %g',e(i,1))
count=fprintf(fid,' %+e',e(i,2:3))
这样在读的时候用A2=fscanf(fid,'%f%f%f',[3 inf])就行了