代码之家  ›  专栏  ›  技术社区  ›  Mo Sani

MATLAB在UBUNTU中编写文本文件“无效权限”

  •  0
  • Mo Sani  · 技术社区  · 6 年前

    我试图用MATLAB在UBUNTU中的“当前文件夹”之外的文件夹中编写一个文本文件。此文件夹位于主目录中,因此没有权限问题。我使用的代码如下所示:

    folder = '~/newFolder';
    s1=fopen(folder,'newText.txt','w');
    fprintf(s1,'hi')
    fclose(s1);
    

    但当我运行程序时,它显示 invalid permission 错误值得一提的是,当我尝试在当前文件夹中写入文本时,我没有问题。我也试过了 chmod 0777 -R ~/newFolder 无法成功修改权限。 我该怎么办?

    谢谢

    1 回复  |  直到 6 年前
        1
  •  1
  •   Salman    6 年前

    如果你看看 fopen 在里面 Matlab documentation ,可以看到中的第二个输入参数 permission (这与自己的功能有关,而不是与你的操作系统有关):

    fileID = fopen(filename)
    fileID = fopen(filename,permission)
    

    但您正在将文件名作为第二个参数传递。 您需要连接文件路径和文件名:

    s1=fopen(strcat(folder, 'newText.txt'),'w');