Matlab 使用fopen在脚本文件夹中创建新文件
我正在使用MatlabR2017A,我想在运行脚本的文件夹中创建一个新的二进制文件 我以管理员身份运行matlab,因为否则它没有创建文件的权限。下面返回一个合法的文件ID:Matlab 使用fopen在脚本文件夹中创建新文件,matlab,fopen,Matlab,Fopen,我正在使用MatlabR2017A,我想在运行脚本的文件夹中创建一个新的二进制文件 我以管理员身份运行matlab,因为否则它没有创建文件的权限。下面返回一个合法的文件ID: fileID = fopen('mat.bin','w'); 但该文件是在c:\windows\system32中创建的 然后,我尝试在脚本所在的文件夹中创建以下文件: filePath=fullfile(mfilename('fullpath'), 'mat.bin'); fileID = fopen(filePath
fileID = fopen('mat.bin','w');
但该文件是在c:\windows\system32中创建的
然后,我尝试在脚本所在的文件夹中创建以下文件:
filePath=fullfile(mfilename('fullpath'), 'mat.bin');
fileID = fopen(filePath,'w');
但是我得到了一个无效的fileId(等于-1)
变量filePath在运行时等于
'D:\Dropbox\Studies\CurrentSerm\ImageProcessing\Matlab
练习\Chapter1\Ex4\mat.bin'
这对我来说似乎是正确的
如果您能帮我弄清楚该怎么做,我将不胜感激。问题是返回包含文件名(不带扩展名)的路径。根据文件
p=mfilename('fullpath')
返回发生调用的文件的完整路径和名称,不包括文件扩展名
要仅保留文件夹的路径,请使用,其第一个输出正是该路径。因此,在代码中,应该使用
filePath = fullfile(fileparts(mfilename('fullpath')), 'mat.bin');