matlab中fgets的用法

zgzw_2 2012-09-03 05:20:11
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.

这是怎么回事呢?
...全文
1005 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
rabbitjerry 2012-09-28
  • 打赏
  • 举报
回复
提示很明显:Invalid file identifier.无效的文件指针。
也就是说你打开的fid1指针是无效的。可以查看一下fid1的值,为-1表示无效,如果正确的话,应该是大于等于3的正整数。
具体原因,楼上说的很明白了。
最好写成这样的形式:

fid1=fopen('D:\test_chn_filename.txt','r');%最好不要用+,
if fid1==-1
return; % 如果文件打开失败。则返回,不再执行以后的代码。
end
a=fgets(fid1);
libralibra 2012-09-03
  • 打赏
  • 举报
回复
楼主从c/c++转过来的吧
matlab中的字符串斜杠无需转义,直接使用
另外如果只是为了read,那么打开的mode也不需要指定,默认就是read

测试代码
fid = fopen('E:\test.py');
a = fgets(fid)
fclose(fid);

3,422

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 其他开发语言
社区管理员
  • 其他开发语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧