After creating a folder structure and .m file, I want to write to the file, but the fid keeps coming back as -1. What should i be doing that I'm not?

25 ビュー (過去 30 日間)
% Here are the variable name string values:
% outputFileName = "Aaron.m"
% outputFilePath = "./folder/yayy/"
% currentSection is a string with a bunch of data
% ===================================
file = fullfile(outputFilePath, outputFileName);
mkdir(file);
[fid, msg] = fopen(file, 'w');
if fid == -1
error('Could not open file "%s" for writing.', file, msg);
end
% Write the content of the current section to the new .m file
fprintf(fid, '%s\n', currentSection);
% Close the file
fclose(fid);
  1 件のコメント
Stephen23
Stephen23 2025 年 12 月 9 日 17:59
編集済み: Stephen23 2025 年 12 月 9 日 17:59
"What should i be doing that I'm not?"
It is the other way around, you are doing something that you shouldn't: you create a folder with the value of file... which you then try to FOPEN. It is not possible to FOPEN a folder.

サインインしてコメントする。

採用された回答

dpb
dpb 約9時間 前
編集済み: dpb 2025 年 12 月 9 日 19:05
file = fullfile(outputFilePath, outputFileName);
mkdir(file);
You created the directory with the fully qualified file name, not the folder...
% Here are the variable name string values:
% outputFileName = "Aaron.m"
% outputFilePath = "./folder/yayy/"
% currentSection is a string with a bunch of data
% ===================================
file = fullfile(outputFilePath, outputFileName);
if exist(outputFilePath)~=7 % see if already exists, if not create it but not multiple times
mkdir(outputFilePath);
end
[fid, msg] = fopen(file, 'w');
if fid == -1
error('Could not open file "%s" for writing.', file, msg);
end
% Write the content of the current section to the new .m file
fprintf(fid, '%s\n', currentSection);
% Close the file
fclose(fid);
  2 件のコメント
Aaron
Aaron 2025 年 12 月 9 日 19:22
That makes sense. Thanks for your help!
dpb
dpb 約6時間 前
If that resovled your issue, go ahead and Accept an Answer to let folks know if nothing else...

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeData Import and Export についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by