首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 其他开发语言 >

matlab中fgets的用法解决方法

2012-12-29 
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);

热点排行