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)
Mostra commenti meno recenti
Aaron
il 9 Dic 2025 alle 17:44
Commentato: dpb
il 9 Dic 2025 alle 21:24
% 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
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.
Risposta accettata
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);
2 Commenti
dpb
circa 7 ore fa
If that resovled your issue, go ahead and Accept an Answer to let folks know if nothing else...
Più risposte (0)
Vedere anche
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!