Выходной файл не генерируется с помощью системного вызова из matlab

#c #c #matlab

#c #c #matlab

Вопрос:

У меня есть программа на C , которая генерирует некоторые выходные файлы, используя fopen ("./myfile.txt","w") . Все в порядке и работает, и я вижу выходные файлы.

Я хочу запустить эту программу из MATLAB и вызывать ее много раз, чтобы протестировать выходные файлы, используя системный вызов MATLAB: system ('./myprog') . Хотя вывод правильный, но выходной файл не генерируется. Я видел здесь похожую проблему. Однако я не смог решить проблему с установкой переменных среды.

Я попробовал другой режим адресации, также я попробовал это system (ls > out) , и файл сгенерирован.

Комментарии:

1. Вы пробовали использовать абсолютный путь (начинающийся с «/») для вашего выходного файла? Вероятно, что текущий каталог отличается при запуске вашей программы из matlab по сравнению с автономным.

2. ДА. Я использую CentOS и пробовал как абсолютную, так и относительную адресацию

3. Может ли быть так, что MATLAB запускается как другой пользователь, у которого нет доступа на запись в целевой каталог? Что происходит при записи в /tmp/your-output.txt ?

4. Matlab версии 9.2

5. Я не сделал ничего особенного, но все работает с моим кодом matlab. Я не добавил никакого кода; возможно, моя проблема была в другом месте.