读取txt文件内容

[复制链接]
744|5
手机看帖
扫描二维码
随时随地手机跟帖
一路向北lm|  楼主 | 2020-3-18 18:15 | 显示全部楼层
新建一个txt文件,其中包含了几个学生的几门成绩,具体内容如下:
900615e71f4bba3376.png

使用特权

评论回复
一路向北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控件中显示所有的学生姓名
589605e71f4e60edcd.png

使用特权

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


使用特权

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

使用特权

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

本版积分规则

256

主题

3639

帖子

72

粉丝