修改struct
从此答案以包含值和类型
function fileData = readFileIntoStruct( fileName )
%
% read [property] value pairs file into struct
%
fh = fopen( fileName, 'r' ); % read handle
line = fgetl( fh );
while ischar( line )
% property
tkn = regexp( line, '\[([^\]+)]\]\s*%\s*([^%]+)\s*$', 'once', 'tokens' );
% read next line for value
val = fgetl( fh );
fileDate.(tkn{1}).val = val;
fileDate.(tkn{1}).type = tkn{2};
line = fgetl( fh ); % keep reading
end
fclose( fh ); % don't forget to close the file at the end.
假设:
属性的名称是合法的 Matlab 字段名称(有关详细信息,请参阅变量命名)。
每个属性的值始终是一个字符串。
我没有在这些示例中包含任何错误检查代码(未找到文件、格式错误的字符串等)
我假设输入文件是严格的“[prop] val”对,没有任何额外的注释等。