how to write an opened file in a loop to a new file in a different folder using fwrite?
2 次查看(过去 30 天)
显示 更早的评论
Hi everyone,
I open a file in a loop using fopen. I make some modifications and then I want to write the file to a new folder but I get the error that the identifier is not valid.
Loop starts >
OpenFile = fopen('BetaWeatherFile.epw','r');
DuplicateATemporary = fopen('temporary.epw','w');
.....
modifications
.....
Then I want to use the fwrite here but it does not work.
"Error using fwrite Invalid file identifier. Use fopen to generate a valid file identifier."
6 个评论
Jan
2021-3-10
Yes, of course the first valid file identifier is 3. 1 is the standard output, 2 the channel for error messages.
With opening the file for reading by 'r', you cannot write to the file. Therefor your fwrite command replies 0 for: no character was written.
Are you sure you want to write the char vector 'E:\backup.epw' into the file? Maybe you have confused FWRITE and COPYFILE?
采纳的回答
Jan
2021-3-10
编辑:Jan
2021-3-11
Yes, of course the first valid file identifier is 3. 1 is the standard output, 2 the channel for error messages.
With opening the file for reading by 'r', you cannot write to the file. Therefor your fwrite command replies 0 for: no character was written.
Are you sure you want to write the char vector 'E:\backup.epw' into the file? Maybe you have confused FWRITE and COPYFILE?
FileName = fullfile(tempdir, 'test.txt')
OpenFile = fopen(FileName, 'w'); % [EDITED, typo fixed]
assert(OpenFile~=-1, 'Cannot open file for writing.')
fwrite(OpenFile, 'Hi', 'char')
fclose(OpenFile);
copyfile(FileName, fullfile(tempdir, 'test2.txt'))
4 个评论
Jan
2021-3-11
What do you expect as output of the copyfile command? It is a flag, which tells you if the copy was successful. I do not see a reason to store this in the variable CopyPhase .
Instead of copying the file, you could write directly to the wanted file. Then using an index in the file name is an obvious solution:
for k = 1:10
file = fullfile(Folder, sprintf('file%03d.txt', k));
...
end
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Environment and Settings 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!