C++ MFC中如何TXT格式文件在列表框中显示出来

 我来答
tattackor
推荐于2017-09-16 · TA获得超过3.5万个赞
知道大有可为答主
回答量:5083
采纳率:94%
帮助的人:889万
展开全部
1.先把列表框里面的内容保存到变量temp中,把下列代码加入到按钮的响应函数即可。

CFile outf = CFile("out.txt");
outf.out(temp);
outf.flush();

另外C++里面的文件操作,可以原封不动地搬到mfc中,如果你在C++语言里面会,也可以用C++的库函数实现文件操作。

2.例程:
CString strFile = "c:\\test.txt";
CFile f;
f.Open(strFile, CFile::modeRead);
char* str = new char[f.GetLength()];
f.Read(str, f.GetLength());
f.Close();

GetDlgItem(IDC_EDIT_VALUE)->SetWindowText(str);
归悦欣cf
2012-04-24 · TA获得超过1444个赞
知道大有可为答主
回答量:4250
采纳率:59%
帮助的人:1327万
展开全部
把TXT文件文件读出病赋予一个CString 变量,在利用列表框的插入项函数插入即可。
追问
大侠可不可以给出具体的代码呀  不胜感激
追答
你好,我首先假设你在文件中的数据是按整型数据进行存储的,与文件是否txt文件无关,如果是真正的txt文件又另当别论。我假设,你是按字节读取数据的,读取一个整型数据需要读取sizeof(int)个字节,在读取数据之前,分配内存,长度为sizeof(int);比如 char* pData=new char(sineof(int));现在读取第一个数据:memcpy(pData,str,sizeof(int)),这样你就把第一个整型数据的所有字节都读到pData指针指向的地址当中,但是pData指针是char型指针,你的目的是要获得相应的整型数据,所以要把该指针强制转换为整型指针才能得到整型数据,因此要得到相应整型数据应该这样:int myData=*(int*)pData;这样myData中就是文件中保存的第一个整型数据;的到整型数据后,把它转换为字符串才能在列表框中显示出来,方法如下:CString strTemp;
strTemp.Format("%d",myData);然后你就可以用列表框的插入函数吧字符串strTemp插入到列表框中(说明:前面str是你定义的用于保存从文件中读出的字符数组),这就是从文件中读取第一个整型数据并插入列表框中的过程,24000个数据用一个循环即可实现。需要说明的是如果每个整型数据的每一位都是按字符进行保存的话那又不一样了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
flydream3618
2012-04-24 · TA获得超过173个赞
知道小有建树答主
回答量:196
采纳率:0%
帮助的人:166万
展开全部
你是说显示txt的内容??还是···txt文件显示出来????
第一种:
先读取txt,再赋值就可以了
第二种:
遍历目录下txt格式文件,再赋值就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zyw_z
推荐于2017-10-09 · 超过32用户采纳过TA的回答
知道答主
回答量:90
采纳率:0%
帮助的人:99.2万
展开全部
CString strFile = "c:\\test.txt";
CFile f;
f.Open(strFile, CFile::modeRead);
char* str = new char[f.GetLength()];
f.Read(str, f.GetLength());
f.Close();

GetDlgItem(IDC_EDIT_VALUE)->SetWindowText(str);
更多追问追答
追问
我在MFC中的界面添加了一个控件和列表框,我希望达到的效果是点击控件时会出现我之前采集来的数据,选择后然后点击确定再将数据在列表框中显示出来,选择数据我用的是CFileDilog类,之后我就不知道怎么实现了 (数据是24000个实数类型为double) 请各位大神帮忙  小弟万分感谢!!
追答
把上面第一句话改一下:

CFileDialog dlg(TRUE);
if(dlg.DoModal() != IDOK)
return;
CString strFile = dlg.GetPathName();

剩下的都一样了,注意你所说的列表框对应id就是IDC_EDIT_VALUE
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式