Write new file in different directory

5 views (last 30 days)
Nidhi SRIVASTAVA
Nidhi SRIVASTAVA on 22 Jul 2017
Commented: Walter Roberson on 22 Jul 2017
I want to create a new file in a directory other than the current opened directory.
My code:
f='somefilename'
fid = fopen(f,datadirectory,'w');
where datadirectory is the directory where I want to write my file. But it throws an error.
Can somebody please help? Thank you.

Answers (1)

Walter Roberson
Walter Roberson on 22 Jul 2017
filename = fullfile(datadirectory, f);
fid = fopen(filename, 'w');
Note: you mention "text file" in the tags. If you are using MS Windows then it would be common to use 'wt' instead of 'w' when created text files. Using 'wt' tells it to use Carriage Return / Linefeed pairs for the line, which is needed if you want compatibility with older programs such as Notepad
  2 Comments
Nidhi SRIVASTAVA
Nidhi SRIVASTAVA on 22 Jul 2017
Hi. Thanks for the answer but it still shows the same error. I want to save the file in the different directory. What I am guessing is matlab gives an error because it can't read the file in the working directory. Error: Invalid file identifier. Use fopen to generate a valid file identifier.
Walter Roberson
Walter Roberson on 22 Jul 2017
You should use
filename = fullfile(datadirectory, f);
[fid, msg] = fopen(filename, 'w');
if fid < 0
error('Failed to open file "%s" because: "%s"', filename, msg);
end

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!