按行读取文本,报错,各位帮看看
按行读取文本,报错,各位帮看看
CFileDialog dlgT(TRUE,"*.*","*.txt",NULL,"*.txt",NULL);;
dlgT.m_ofn.lpstrTitle="打开文本文件";
if(IDCANCEL==dlgT.DoModal())
return;
strText=dlgT.GetPathName();
fText.Open(strText, CFile::modeRead | CFile::typeText );
int d;
CString strline[20];
fText.ReadString(strline[0]);
while(!feof(fText.m_pStream))
{
d = fText.GetPosition();
fText.ReadString(strline[d]);
}
fText.Close();
UpdateAllViews(NULL);
编译运行,报错!说是xxx内存不能为read 实际上只是读取5行文本,每行几个字符!
问题点数:30、回复次数:6Top
1 楼dirdirdir3(风)回复于 2005-08-01 10:02:07 得分 3
fText的类型?Top
2 楼kugou123(酷狗)(彪悍的人生,不需要解释 www.xiaozhou.net)回复于 2005-08-01 10:07:22 得分 3
fText是否为CStdioFile对象?Top
3 楼AMDCPU(旺)回复于 2005-08-01 10:23:37 得分 0
当然是啦。否则编译会报错啊。
测试文本内容是:
1
2
3
4
5Top
4 楼orbit(走了走了)回复于 2005-08-01 10:31:46 得分 20
int d = 0;
CString strline[20];
fText.ReadString(strline[0]);
while(!feof(fText.m_pStream))
{
d++;
if(d > 20)
ASSERT(....);
fText.ReadString(strline[d]);
}
Top
5 楼AMDCPU(旺)回复于 2005-08-01 10:47:19 得分 0
多谢。刚刚在.net中测试通过。前面在vc6.0中却报错!
稍后结贴。Top
6 楼wonglaye(山里娃)回复于 2005-08-01 10:57:58 得分 4
fText.ReadString(strline);Top




