当前位置: 代码迷 >> 其他开发语言 >> matlab中fgets的用法解决方法
  详细解决方案

matlab中fgets的用法解决方法

热度:9190   发布时间:2013-02-26 00:00:00.0
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);
  相关解决方案