Visual Studio 2019 MFC 应用程序:如何从文本文件中读取并在不同字段/编辑控件中显示字符串?
Posted
技术标签:
【中文标题】Visual Studio 2019 MFC 应用程序:如何从文本文件中读取并在不同字段/编辑控件中显示字符串?【英文标题】:Visual Studio 2019 MFC App: How do I read from a text file and display the strings in different fields/Edit Controls? 【发布时间】:2020-10-10 04:13:56 【问题描述】:假设我有一个包含三行的“user.txt”文件:
35
160
green
在 Visual Studio 2019 mfc 应用项目中,我有三个字段:
txtUserAge
txtUserWeight
txtUserFavoriteColor
如何从 User.txt 文件中读取每一行以填充相应的编辑控件?
到目前为止,我所做的是相反的,用于保存到文件:
-
右键编辑控件,添加变量
例如,将
txtUserAge
设置为名为@987654324@ 的C 字符串类型变量的值类别
在我的主 .cpp 中,单击 Save 按钮,有一个 CString newAge = userAgeVar;
然后将CString转换为字符串CT2CA ct (newAge); string strNewAge(ct);
然后发给班级
StatSaver user1;
user1.recordStats(strNewAge);
-
类的位置:
void StatSaver::recordStats(string ageString)
ofstream outFile;
outFile << ageString << "\n";
outFile.close();
我似乎无法反过来考虑读取相同的文本文件并填写字段/编辑控件。任何人都可以提供任何帮助,我将不胜感激。
【问题讨论】:
您可能想查看 CArchive 类。 MFC 将让您创建一个 CFIle 对象,您可以从中创建一个 CArchive 对象,该对象功能丰富,并且应该具有您在读取和写入文件方面所寻找的内容。 【参考方案1】:好吧,这比我想象的要简单得多。我将它链接到一个按钮,
void CMFCReadTextToBoxDlg::OnBnClickedbtnread()
ifstream MyReadFile("user.txt");
string textRead1;
string textRead2;
string textRead3;
string textRead4;
getline(MyReadFile, textRead1);
CString cs1(textRead1.c_str());
SetDlgItemText(txtField1, cs1);
getline(MyReadFile, textRead2);
CString cs2(textRead2.c_str());
SetDlgItemText(txtField2, cs2);
getline(MyReadFile, textRead3);
CString cs3(textRead3.c_str());
SetDlgItemText(txtField3, cs3);
getline(MyReadFile, textRead4);
CString cs4(textRead4.c_str());
SetDlgItemText(txtField4, cs4);
MyReadFile.close();
【讨论】:
以上是关于Visual Studio 2019 MFC 应用程序:如何从文本文件中读取并在不同字段/编辑控件中显示字符串?的主要内容,如果未能解决你的问题,请参考以下文章
Visual Studio 2019报错:缺少mfc120.dll
用Microsoft Visual Studio 2019写MFC程序(Bresenham画直线为例)
在 Visual Studio 中编写 MFC/STL 程序需要做啥?
Visual Studio MFC 在键入/动态时更改编辑控件中的文本