我有功能
fid = fopen(filename,'w');
if exist('fid')
check = true;
else
check = false;
end
for i=1:length(persons)
fprintf(fid, '%s\n',serialize_person(persons(i)));
end
end
serialize_person在哪里
function [output] = serialize_person(person)
fprintf ( '<%s>#' , person.name ) ;
serialize_date ( person.date_of_birth ) ;
fprintf ( '#<%i>\n' , person.phone ) ;
end
需要的是个人并写出'name.day.month.year.phonenumber' 首先,我需要将它作为“输出”中的单个文本串出现,以便(我假设)在第一个函数中工作,我将如何解决这个问题?
其次,第一个函数是一个文件名和一个人的单元格。我希望它出现在一个名为'filename'的文本文件中,每行有一个个性化。 昨天我让它工作到for循环,但不知怎的,我今天无法超越第一行而没有遇到错误信息。 你能不能在这里给我一些建议,我不知道什么是错的。
答案 0 :(得分:0)
要将输出写入字符数组而不是控制台,请使用sprintf
。另外,要在字符串之间加入'.'
字符串,请尝试使用分隔符集strjoin
:
function [output] = serialize_person(person)
delim = '.';
output = strjoin(sprintf ( '<%s>#' , person.name ), ...
serialize_date ( person.date_of_birth ), ...
sprintf ( '#<%i>\n' , person.phone ), delim);
end
同样修改serialize_date
。