file size determination problem
显示 更早的评论
when I type a code:
size=file.bytes
it shows "Insufficient number of outputs from right hand side of equal sign to satisfy assignment".
回答(2 个)
Steven Lord
2017-1-23
Your file variable is an empty struct array. Assuming you created it using the dir function, as I suspect is the case, the directory whose contents you tried to list contained no files that matched the file/directory specification.
cd(tempdir)
mkdir directoryWithNoFiles
cd directoryWithNoFiles
file = dir('*.m'); % There aren't any in this newly-created directory
sz = file.bytes % Error
To avoid this, check that your struct variable is not empty using the isempty function before attempting to use the contents.
if isempty(file)
fprintf('The directory contained no files with the .m extension.\n');
else
fprintf('The directory contained %d files with the .m extension.\n', numel(file))
end
Walter Roberson
2017-1-23
size = [file.bytes]
Your "file" is a structure array and you are getting "structure expansion" happening.
类别
在 帮助中心 和 File Exchange 中查找有关 File Operations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!