matlab中fgets的用法解决方法
matlab中fgets的用法fid1fopen(D:\\test_chn_filename.txt,r+);afgets(fid1)显示错误:Error using
matlab中fgets的用法
fid1=fopen('D:\\test_chn_filename.txt','r+');
a=fgets(fid1);
显示错误:
Error using ==> fgets
Invalid file identifier. Use fopen to generate a valid file identifier.
这是怎么回事呢?
[解决办法]
楼主从c/c++转过来的吧
matlab中的字符串斜杠无需转义,直接使用
另外如果只是为了read,那么打开的mode也不需要指定,默认就是read
测试代码
fid = fopen('E:\test.py');
a = fgets(fid)
fclose(fid);
[解决办法]提示很明显:Invalid file identifier.无效的文件指针。
也就是说你打开的fid1指针是无效的。可以查看一下fid1的值,为-1表示无效,如果正确的话,应该是大于等于3的正整数。
具体原因,楼上说的很明白了。
最好写成这样的形式:
fid1=fopen('D:\test_chn_filename.txt','r');%最好不要用+,
if fid1==-1
return; % 如果文件打开失败。则返回,不再执行以后的代码。
end
a=fgets(fid1);