看完上一堂课的程序演示,
同学们是不是觉得很简单?
但语句中/n是不正确的。
换行应该用\n。
这样才能生成新的一行。
New line | \n |
好多语言中都是这样定义新起一行的。
比如C和Python。
看程序吧!
clear;
close all;
clc;
student_name = ['A','B','C','D','E'];
student_score = [50 60 70 80 90];
file_fid = fopen('d:\score.txt','w'); % 打开文件
% fid 其值大于0,表示打开成功
fprintf(file_fid,'%6s %d\n',student_name(1), student_score(1));
fprintf(file_fid,'\n')
fprintf(file_fid,'%6s %d\n',student_name(2), student_score(2));
fprintf(file_fid,'%6s %d\n',student_name(3), student_score(3));
fprintf(file_fid,'%6s %d\n',student_name(4), student_score(4));
fprintf(file_fid,'%6s %d\n',student_name(5), student_score(5));
fclose(file_fid);
结果如何?
没有换行?
什么原因?
再次查看help。
If you plan to read the file with Microsoft® Notepad, use '\r\n' instead of '\n' to move to a new line.
原来如此!
Carriage return | \r |
carriage return n.回车;回车键;回车符;换行字符 The specified text and a carriagereturn. 指定的文本和一个回车。
我们学院的学生的英文水平非常差,还不愿意提高?
对于理工科学生,英文不好很难学好软件。
按照help里面讲的进行更改。
clear;
close all;
clc;
student_name = ['A','B','C','D','E'];
student_score = [50 60 70 80 90];
file_fid = fopen('d:\score.txt','w'); % 打开文件
% fid 其值大于0,表示打开成功
fprintf(file_fid,'%6s %d\r\n',student_name(1), student_score(1));
fprintf(file_fid,'%6s %d\r\n',student_name(2), student_score(2));
fprintf(file_fid,'%6s %d\r\n',student_name(3), student_score(3));
fprintf(file_fid,'%6s %d\r\n',student_name(4), student_score(4));
fprintf(file_fid,'%6s %d\r\n',student_name(5), student_score(5));
fclose(file_fid);
结果如何?
文件终于正确生成了!
讲这么细致,
估计连小学生都能理解吧!
未完,待续!