MATLAB пишет текстовый файл "недопустимое разрешение" в UBUNTU - PullRequest
0 голосов
/ 20 мая 2018

Я пытаюсь использовать MATLAB для записи текстового файла в папку, отличную от «текущей папки» в UBUNTU.Эта папка находится в домашнем каталоге, поэтому проблем с разрешениями не будет.Я использую код, показанный ниже:

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

Но когда я запускаю программу, она показывает invalid permission ошибку.Стоит отметить, что у меня нет проблем, когда я пытаюсь написать текст в текущей папке.Я также попытался chmod 0777 -R ~/newFolder изменить разрешение безуспешно.Что мне делать?

Спасибо

1 Ответ

0 голосов
/ 20 мая 2018

Если вы посмотрите на fopen в документации Matlab , вы увидите, что второй входной аргумент в permission (который связан с собственной функцией, а НЕ с вашей ОС):

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

Но вы передаете имя файла в качестве второго параметра.вам нужно объединить путь к файлу и имя файла:

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

...