打印

读取txt文件内容

[复制链接]
863|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
新建GUI,添加一个列表框ListBox和一个可编辑文本框EditText,并将两个控件属性的String 改为不显示,具体如下:

使用特权

评论回复

相关帖子

沙发
一路向北lm|  楼主 | 2020-3-18 18:15 | 只看该作者
新建一个txt文件,其中包含了几个学生的几门成绩,具体内容如下:

使用特权

评论回复
板凳
一路向北lm|  楼主 | 2020-3-18 18:15 | 只看该作者
现在需要实现的是,程序运行时,自动读取上面新建的txt文件,将文件中的学生姓名显示到ListBox控件中,通过点击ListBox中的姓名将对应的成绩显示到EditText控件中。
找到.m文件的初始运行函数处,添加以下代码:
%打开文件
fin = fopen('test.txt','r');
%读取1行
str = fgetl(fin);
%读取第一行的标题分别存储到 str1、str2、str3、str4
[str1 str2 str3 str4] = strread(str,'%s %s %s %s','delimiter',' ');
xingming(1) = str1;
counter = 2; %计数器
while  feof(fin) == 0   %循环读取文件,直到结束
   str = fgetl(fin);     
   [name yuwen shuxue yingyu] = strread(str,'%s %d %d %d','delimiter',' ');
   xingming(counter) = name;
   chenji (counter-1,:) = [yuwen shuxue yingyu];
   counter = counter +1;
end;
%在listbox1控件中显示所有的学生姓名
set(handles.listbox1,'string',xingming);
%使用hangler.chenji声明 chenji为全局变量
handles.chenji = chenji;
%关闭文件
fclose(fin);


使用特权

评论回复
地板
一路向北lm|  楼主 | 2020-3-18 18:16 | 只看该作者
运行程序,可以看到listbox1控件中显示所有的学生姓名

使用特权

评论回复
5
一路向北lm|  楼主 | 2020-3-18 18:16 | 只看该作者
右键listbox1控件,查看回调函数,在下面添加以下代码实现点击任意学生姓名时在edit2控件中显示学生的成绩。
%获取点击学生在listbox1控件的位置
value = get(hObject,'value')-1;
%edit2控件中显示学生的成绩
set(handles.edit2,'string',num2str(handles.chenji(value,:)));


使用特权

评论回复
6
一路向北lm|  楼主 | 2020-3-18 18:16 | 只看该作者
运行程序,可以看到点击listbox1控件中显示所有的学生姓名,edit2控件中显示该学生的成绩,成功实现了对txt文件的读取和显示。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

274

主题

3760

帖子

74

粉丝