fopen always open the file even when it is already open
8 次查看(过去 30 天)
显示 更早的评论
Hi,
fopen is supposed to return -1 when it can't open the file. So I thought when I had the file open already it would return -1. But when I do it I always have the same output. Have I misunderstood how fopen works ?
I also can't open the file anymore as it gets corrupted if I use 'w' or 'W' option for fopen. I haven't found any explanation to that behaviour.
>> fopen('myFile.xlsx')
ans =
3
>> fclose('all')
ans =
0
% Here I open the file in Excel
>> fopen(myFile)
ans =
3
>> fclose('myFile.xlsx')
ans =
0
Thank you !
0 个评论
采纳的回答
Jan
2022-10-19
编辑:Jan
2022-10-19
"fopen is supposed to return -1 when it can't open the file" - correct, this is the defined behavior.
"So I thought when I had the file open already it would return -1." - no, this is not the case. See above: If Matlab can open the file, a file handle is replied. You can open a file multiple times for reading.
"Have I misunderstood how fopen works ?" - Yes.
"I also can't open the file anymore as it gets corrupted if I use 'w' or 'W' option for fopen." - correct. 'W' and 'w' open the file for writing. This crops the existing contents of the file. You find this documented in:
doc fopen
The posted code shows the expected behavior.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Spreadsheets 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!