先看下面代码,没有读出东西
/*---------------------------------------
CStdioFile fp;
CString str1;
CString str="C:\\name.txt";
fp.Open(str,CFile::modeRead | CFile::typeText);
for(int i=0;i<8;i++)
{
fp.ReadString(str1);
//MessageBox(str1);
}
MessageBox(str1);
fp.Close();
------------------------------------------------*/
问题:
有没有简便的读取文本的方法?
/*---------------------------------------
CStdioFile fp;
CString str1;
CString str="C:\\name.txt";
fp.Open(str,CFile::modeRead | CFile::typeText);
for(int i=0;i<8;i++)
{
fp.ReadString(str1);
//MessageBox(str1);
}
MessageBox(str1);
fp.Close();
------------------------------------------------*/
问题:
有没有简便的读取文本的方法?
CFileDialog fileDlg(TRUE);
fileDlg.m_ofn.lpstrTitle="我的文件打开对话框";
fileDlg.m_ofn.lpstrFilter="Text Files(*.txt)\0*.txt\0All Files(*.*)\0*.*\0\0";
if(IDOK==fileDlg.DoModal())
{
CFile file(fileDlg.GetFileName(),CFile::modeRead);
char *pBuf;
DWORD dwFileLen;
dwFileLen=file.GetLength();
pBuf=new char[dwFileLen+1]; pBuf[dwFileLen]=0;
file.Read(pBuf,dwFileLen);
file.Close();
MessageBox(pBuf);
} }
/*---------------------...
file.Close();
MessageBox(pBuf); delete []pBuf; //我认为应该加上,否则会不会造成内存泄漏?
} -------------------*/
new数组一定要delete[]来释放
----------------*对应情况如下:
1 -> a (敲击“1”键,但是在txt中记录的却是“a”)
2 -> b
3 -> c
...
9 -> i