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 个)

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
size = [file.bytes]
Your "file" is a structure array and you are getting "structure expansion" happening.

类别

帮助中心File Exchange 中查找有关 File Operations 的更多信息

标签

提问:

2017-1-23

Community Treasure Hunt

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

Start Hunting!

Translated by