MFC编程 -- 保存和读取列表框内容
haoteby 2025-01-23 17:20 10 浏览
一、新建一个结构体
在pch.h新建一个结构体,将列表里面的一行内容当做一个结构进行保存
struct 列表结构
{
TCHAR 专辑[20];
TCHAR 主打歌[20];
int 年份;
TCHAR 时长[20];
};
二、将列表的内容保存到文件
HANDLE 文件句柄 = CreateFile(_T("./aiyou.txt"), GENERIC_WRITE,FILE_SHARE_READ,NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL,NULL);
//1、保存的文件名字;2、访问模式(GENERIC_READ);3、共享模式;4、指向安全属性的指针
//5、如何创建文件,覆盖前面的文件(CREATE_ALWAYS )6、文件属性,默认;7、用于复制文件句柄
CListCtrl* 列表句柄 = (CListCtrl*)GetDlgItem(IDC_LIST3);
int i = -1;
int 行号 = 列表句柄->GetItemCount();
列表结构 列表;
while (++i<行号)
{
_tcscpy(列表.专辑, 列表句柄->GetItemText(i, 0));
_tcscpy(列表.主打歌, 列表句柄->GetItemText(i, 1));
列表.年份 = _tstoi(列表句柄->GetItemText(i,2));
_tcscpy(列表.时长, 列表句柄->GetItemText(i, 1));
WriteFile(文件句柄,&列表,sizeof(列表),NULL,NULL);
//1、文件句柄;2、写入的缓冲区;3要写入的大小;
}
CloseHandle(文件句柄);
三、读取列表的内容
1、在头文件声明一下加载函数
class C管理系统Dlg : public CDialogEx
{
// 构造
void 读取信息();
public:
C管理系统Dlg(CWnd* pParent = nullptr); // 标准构造函数
2、编写读取信息的代码
HANDLE 文件句柄 = CreateFile(_T("./aiyou.txt"), GENERIC_READ, FILE_SHARE_READ, NULL,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
CListCtrl* 列表句柄 = (CListCtrl*)GetDlgItem(IDC_LIST3);
列表句柄->DeleteAllItems();//清空列表
列表结构 列表;
DWORD 实际传入字节数;
int 行号= 列表句柄->GetItemCount();
CString 格式化内容;
while (ReadFile(文件句柄,&列表,sizeof(列表), &实际传入字节数,NULL) && 实际传入字节数 == sizeof(列表))
//当实际传入的字节数为0时退出
{
列表句柄->InsertItem(行号, 列表.专辑);
列表句柄->SetItemText(行号, 1,列表.专辑);
格式化内容.Format(_T("%d"), 列表.年份);
列表句柄->SetItemText(行号, 2, 格式化内容);
列表句柄->SetItemText(行号, 3, 列表.时长);
++行号;
}
CloseHandle(文件句柄);
四、运行效果
五、项目下载
关注编程有你公众号,后台回复:20220527
相关推荐
- 二次面试终拿到offer,百度Android面试真题解析我整理出来了
-
找工作的大潮来临了,这边给大家分享一下面试会遇到的问题。Android开发了5年,之前一直都是在小公司码着代码,对大厂一直有着憧憬,我是在去年年初的时候通过朋友的内推面试了百度,结果被怼的没话说,那叫...
- Android 开发中文引导-应用小部件
-
应用小部件是可以嵌入其它应用(例如主屏幕)并收到定期更新的微型应用视图。这些视图在用户界面中被叫做小部件,并可以用应用小部件提供者发布。可以容纳其他应用部件的应用组件叫做应用部件的宿主(1)。下面的截...
- Win10桌面/手机版最深层次开发功能挖掘
-
IT之家讯Win10开发者预览版为我们提供了一个Win10大框架的早期概览,使开发者与热心用户都可以提前感受Win10带来的新特性,尝试新工具,而作为开发者,最关心的莫过于Windows多平台通用应...
- Android TabLayout + ViewPager2使用
-
1、xml文件<!--明细列表--><com.google.android.material.tabs.TabLayoutandroid:id="@+id/ty_...
- android培训学习的大纲_android软件开发培训
-
第一阶段android基础:1.基础javaJava概述,进制,数据类型,常量变量,运算符,表达式关系运算符,逻辑运算符,if语句,switch语句while循环,do...while循环,for循环...
- 背了几十份面经还是连挂6个面试,最终拿下腾讯后总结了这些坑点
-
刚开始面试的时候我真的是处处碰壁,面一家挂一家,面完之后怀疑自我,是不是自己真的太菜了找不到工作。工作本身就是双向选择,一家不行再换一家,总有合适的,千万不要因为别人的一句话就全盘否定自己,一定要自信...
- webview 渲染机制:硬件加速方式渲染的Android Web
-
webview渲染是什么?webview渲染是用于展现web页面的控件;webview可以内嵌在移动端,实现前端的混合式开发,大多数混合式开发框架都是基于webview模式进行二次开发的...
- ExpandListView 的一种巧妙写法_仿写丁香结的写法写一种花梅花
-
ExpandListView大家估计也用的不少了,一般有需要展开的需求的时候,大家不约而同的都想到了它然后以前自己留过记录的一般都会找找以前自己的代码,没有记录习惯的就会百度、谷歌,这里吐槽一下,好几...
- Android监听滚动视图_滚动监听代码
-
AndroidUILibs之Android-ObservableScrollView1.说明Android-ObservableScrollView,顾名思义,Android上观察滚动的视图,可...
- Flutter 之 ListView_flutter开发
-
在Flutter中,ListView可以沿一个方向(垂直或水平方向)来排列其所有子Widget,常被用于需要展示一组连续视图元素的场景ListView构造方法ListView:仅适用于列表中...
- Android之自定义ListView(一)_android 自定义listview
-
PS:自定义View是Android中高手进阶的路线.因此我也打算一步一步的学习.看了鸿洋和郭霖这两位大牛的博客,决定一步一步的学习,循序渐进.学习内容:1.自定义View实现ListView的Ite...
- ListView 使用详解_listview在哪里
-
阅读五分钟,每日十点,和您一起终身学习,这里是程序员Android本篇文章主要介绍Android开发中的部分知识点,通过阅读本篇文章,您将收获以下内容:ListView主要使用方法使用androi...
- 穿裙子的李宇春,需要向谁解释吗?
-
...
- 明星们“不想占用”的公共资源,到底是个啥?
-
近日,社交媒体上可谓“一瓜未平一瓜又起”,明星们隔三差五地在热搜上道歉、澄清,好不热闹。道歉原因千万种,道歉话术却雷同——通常都以“无意占用公共资源”开头,不管是澄清、官宣,还是回应、声明,都会带上这...
- 选择女人的模板,模板不同,生活方式不同
-
文/高阳人生在世,选择伴侣成了头等大事。尤其是对于男人来说,“选择女人的模板”直接决定了你未来几十年的生活方式,有时简直像组装拼图,每一块都有代价。莫言曾说过:“你选择能干的女人,就得接受她的强势;你...