我想在包含属性 - 值对的txt文件中添加属性 - 值对,并且属性应按字母顺序排序,其中属性在方括号之间,其值在下面的行中。这是一个示例文件:除此之外,我想忽略以'#'开头的注释行。
#
[system]
#
programming
#
[information]
#
application
喜欢: -
function [] = updateFile( fileName,property,propertyValue )
% all inputs in strings
%
rfh = fopen( fileName, 'r' ); % read handle
tname = tempname(); % temporary file name
wfh = fopen( tname, 'w' )
在这个例子中,“系统”是一个属性,并且“编程”它的值。同样,'信息'是另一种属性,'应用'是它的价值。
我想用属性 - 值对调用我的函数,并使用新的属性 - 值对更新txt文件。
答案 0 :(得分:1)
由于您要更新文件,因此应以“追加”模式打开它。您可以使用sort
函数对数据进行排序。假设变量property
和propertyValue
是单元格数组,您的代码看起来像这样
function [] = updateFile( fileName,property,propertyValue )
% all inputs in strings
fid = fopen(fileName, 'a' ); % file handle
[property_sorted,sort_index] = sort(property); % sort file
for count = 1:length(sort_index)
fprintf(fid,'%s\n%s\n',property_sorted(count),propertyValue(sort_index(count)));
end
fclose(fid);
有关详细信息,请参阅排序文档(doc sort
)。