C++ MFC中如何TXT格式文件在列表框中显示出来
答案:4 悬赏:70
解决时间 2021-02-17 13:07
- 提问者网友:难遇难求
- 2021-02-16 14:15
C++ MFC中如何TXT格式文件在列表框中显示出来
最佳答案
- 二级知识专家网友:神鬼未生
- 2021-02-16 14:43
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);
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);
全部回答
- 1楼网友:山河有幸埋战骨
- 2021-02-16 18:11
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
追问:真的非常感谢您!!我换了一个编辑框,问题解决了!!现在又遇到新的问题,如何再将编辑框的内容传递给一个数组中 ,应该用什么函数,万分感谢!!
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楼网友:你哪知我潦倒为你
- 2021-02-16 17:17
你是说显示txt的内容??还是···txt文件显示出来????
第一种:
先读取txt,再赋值就可以了
第二种:
遍历目录下txt格式文件,再赋值就可以了
第一种:
先读取txt,再赋值就可以了
第二种:
遍历目录下txt格式文件,再赋值就可以了
- 3楼网友:由着我着迷
- 2021-02-16 16:11
把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个数据用一个循环即可实现。需要说明的是如果每个整型数据的每一位都是按字符进行保存的话那又不一样了。
追问:大侠可不可以给出具体的代码呀不胜感激
追答:你好,我首先假设你在文件中的数据是按整型数据进行存储的,与文件是否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个数据用一个循环即可实现。需要说明的是如果每个整型数据的每一位都是按字符进行保存的话那又不一样了。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯