gui写成绩查询系统笔记

1.strread 与 textscan:strread函数的那几种表达方法在textscan函数都可以用,textscan函数还可以和句柄一起使用,显得更加方便,另外textscan函数还多出来的用法是

[C, position]= textscan(...),对于文件,position返回的是从文件开始的字节数总和,对于字符串,计数读过的字母数。


2.fgetl 与fgets:fgel去除换行符而fgets是包含的。


3.为了让数字显示结果有多个空格,利用a=[c,'   '];但问题是,因为c是数字,这样显示出来的a就是几个空格,这是为什么呢?就像a=[3,'   ']结果a就是空格,而a=['3','  ']这样就可以达到效果,可是问题是我使用c来代替数字3的,a=['c','  ']这样效果就是字母c了。最后想到用num2str函数来解决问题,还不错,可以达到预期效果。a=[num2str(c),'   ']。

虽然这样可以解决前面的问题,但是很不利于后面的操作,比如我想求平均数,求总和,每次都需要利用str2num反转换过来。

有没有一个更好的办法解决此问题呢?



%%%%%%%%%%%%%%%%%%%%%%%%

得到一个我上述问题的答案,一位热心者解释为:当有某个元素是字符型的情况下,Matlab会自动讲整个数组最为字符数组,而3所对应的字符在Matlab中无法显示(这个原因我也还是不知道为什么?),所以那个空白地方实际不是空格,而是一个不可显示的字符。。。

我试了试,确实对的。

a=[3,'  '];

%将a显示的空白地方复制下来,赋值给b

b=       ;

c=fprintf('%d',b);

%结果显示就是c=3,正是前面的情况了

你可能感兴趣的:(gui写成绩查询系统笔记)