3

我想在包含属性值对的 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 文件。

4

1 回答 1

1

由于您正在更新文件,因此您应该以“追加”模式打开它。您使用该sort功能对数据进行排序。假设变量propertypropertyValue是元胞数组,您的代码将如下所示

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) 的文档。

于 2013-01-19T04:08:50.287 回答