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 visualizzazioni (ultimi 30 giorni)
% 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 Commento
Stephen23
Stephen23 il 9 Dic 2025 alle 17:59
Modificato: Stephen23 il 9 Dic 2025 alle 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.

Accedi per commentare.

Risposta accettata

dpb
dpb circa 11 ore fa
Modificato: dpb il 9 Dic 2025 alle 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);

Più risposte (0)

Categorie

Scopri di più su Data Import and Export in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by