关于vs2010 txt读取的问题 cstringvs2010 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 try { CFile file(_T("F:\\11.txt"), CFile::modeRead); DWORD dwSize = (DWORD)file.GetLength(); char* pBuf = new char[dwSize + 1]; memset(pBuf, 0, sizeof(char) * (dwSize + 1)); file.Read(pBuf, dwSize); CString strText(pBuf); int curPos = 0; int nIndex = 0; LPCTSTR lpszToken = _T(" \r\n"); CString strToken(_T("")); while (_T("") != (strToken = strText.Tokenize(lpszToken, curPos))) { AfxMessageBox(strToken); SetDlgItemText(IDC_EDIT1 + nIndex, strToken); ++nIndex; } file.Close(); if (NULL != pBuf) { delete pBuf; pBuf = NULL; } } catch (CException* e) { e->ReportError(); e->Delete(); } CString.GetBuffer(0) 就转换char*了 void CcDlg::OnBnClickedOk(){ CString str; CStdioFile f( L"e:\\temp\\11.txt", CFile::modeRead ); f.ReadString( str ); swscanf_s( str, L"%i %i %i", &m_n11, &m_n12, &m_n13 ); f.ReadString( str ); swscanf_s( str, L"%i %i %i", &m_n21, &m_n22, &m_n23 ); f.ReadString( str ); swscanf_s( str, L"%i %i %i", &m_n31, &m_n32, &m_n33 ); f.Close(); UpdateData(FALSE);}m_nxx是对应的编辑框值变量,整形,其它数据类型也可以。“不能CString,char格式转换” 应该是字符集的问题吧,如果是unicode字符集,把sscanf换成swscanf_s,字符串前面加L,应该就好了。以上程序VS2010测试通过。 CString是宽字符,char是多字节的 将对话框最小化 在还原之后绘制的曲线不显示 类模板函数使得隐藏规则无效 mysql类作为参数传递该怎么赋值? VC局部对象和Detach 如何获得程序在内存的基址? 如何用自定义的socket传输网页内容并使用ie解析? 请大家来讲讲为什么现在做WebApp用J2EE的多于用MSDCOM和COM+的,是微软的东西真的有缺点还是因为别的? 智力题,帮我看看 VS2008一个工程如何实现中英文互换 我不常提问的哦! MFC对话框style设置为child时,为什么edit控件就不能获得焦点,也不能改变值了 MFC切分窗口后,原来的视图是不是被隐藏了?
{
CFile file(_T("F:\\11.txt"), CFile::modeRead);
DWORD dwSize = (DWORD)file.GetLength();
char* pBuf = new char[dwSize + 1];
memset(pBuf, 0, sizeof(char) * (dwSize + 1));
file.Read(pBuf, dwSize);
CString strText(pBuf);
int curPos = 0;
int nIndex = 0;
LPCTSTR lpszToken = _T(" \r\n");
CString strToken(_T(""));
while (_T("") != (strToken = strText.Tokenize(lpszToken, curPos)))
{
AfxMessageBox(strToken);
SetDlgItemText(IDC_EDIT1 + nIndex, strToken);
++nIndex;
}
file.Close();
if (NULL != pBuf)
{
delete pBuf;
pBuf = NULL;
}
}
catch (CException* e)
{
e->ReportError();
e->Delete();
}
{
CString str;
CStdioFile f( L"e:\\temp\\11.txt", CFile::modeRead );
f.ReadString( str );
swscanf_s( str, L"%i %i %i", &m_n11, &m_n12, &m_n13 );
f.ReadString( str );
swscanf_s( str, L"%i %i %i", &m_n21, &m_n22, &m_n23 );
f.ReadString( str );
swscanf_s( str, L"%i %i %i", &m_n31, &m_n32, &m_n33 );
f.Close();
UpdateData(FALSE);
}m_nxx是对应的编辑框值变量,整形,其它数据类型也可以。
“不能CString,char格式转换” 应该是字符集的问题吧,如果是unicode字符集,把sscanf换成swscanf_s,字符串前面加L,应该就好了。
以上程序VS2010测试通过。