mfc中将文本文件中的姓名,账号,密码,身份证号,余额显示到对话框中。具体代码
时间: 2024-02-27 20:58:18 浏览: 172
MFC对话框中实现打印
4星 · 用户满意度95%
以下是一个基于 MFC 的示例代码,可以将文本文件中的姓名,账号,密码,身份证号,余额显示到对话框中。
首先,在对话框的头文件中定义一个 CListCtrl 对象,用于显示数据:
```cpp
class CMyDlg : public CDialogEx
{
public:
// ...
CListCtrl m_listCtrl;
};
```
然后,在 OnInitDialog 函数中初始化并添加表头:
```cpp
BOOL CMyDlg::OnInitDialog()
{
CDialogEx::OnInitDialog();
// 初始化列表控件
m_listCtrl.SubclassDlgItem(IDC_LIST, this);
m_listCtrl.InsertColumn(0, _T("姓名"), LVCFMT_LEFT, 100);
m_listCtrl.InsertColumn(1, _T("账号"), LVCFMT_LEFT, 100);
m_listCtrl.InsertColumn(2, _T("密码"), LVCFMT_LEFT, 100);
m_listCtrl.InsertColumn(3, _T("身份证号"), LVCFMT_LEFT, 150);
m_listCtrl.InsertColumn(4, _T("余额"), LVCFMT_LEFT, 100);
// ...
}
```
接下来,读取文本文件中的数据,并将其添加到列表控件中:
```cpp
// 打开文本文件
CStdioFile file;
if (!file.Open(_T("data.txt"), CFile::modeRead))
{
// 打开文件失败
return;
}
// 读取文件内容
CString strLine;
while (file.ReadString(strLine))
{
// 分割行数据
CStringArray arrData;
int nCount = ParseString(strLine, arrData, _T(","));
// 添加到列表控件
int nIndex = m_listCtrl.GetItemCount();
m_listCtrl.InsertItem(nIndex, arrData[0]);
m_listCtrl.SetItemText(nIndex, 1, arrData[1]);
m_listCtrl.SetItemText(nIndex, 2, arrData[2]);
m_listCtrl.SetItemText(nIndex, 3, arrData[3]);
m_listCtrl.SetItemText(nIndex, 4, arrData[4]);
}
// 关闭文件
file.Close();
```
其中,ParseString 函数可以用于分割字符串,实现如下:
```cpp
int ParseString(const CString& str, CStringArray& arr, const CString& strSeperator)
{
int nCount = 0;
int nStart = 0, nEnd = 0;
while ((nEnd = str.Find(strSeperator, nStart)) != -1)
{
CString strItem = str.Mid(nStart, nEnd - nStart);
arr.Add(strItem);
nStart = nEnd + strSeperator.GetLength();
nCount ++;
}
CString strItem = str.Mid(nStart);
arr.Add(strItem);
nCount ++;
return nCount;
}
```
注意,以上代码仅作为示例,实际应用中需要根据具体情况进行修改和完善。
阅读全文