if(x){
char *PszFileName="Logon.txt";
CStdioFile MyFile;
CFileException FileException;
if(MyFile.Open(PszFileName,CFile::typeText|CFile::modeReadWrite),&FileException){
CString StrBuf;
int f=0;
while(MyFile.ReadString(StrBuf))
f++;
MyFile.SeekToBegin();
int i=0;
for(i;i<f;){
CString Temp1;
MyFile.ReadString(Temp1);
int n=str.GetLength();
if(Temp1.Left(n)!=str)
i++;
else{
Temp1.Replace(str1,m);
MyFile.Close();
}
}
}
else
TRACE("Can't open file %s,error=%u\n",PszFileName,FileException.m_cause);
}为什么老出现访存错误,在另一个.cpp中运行就没错误,这是什么原因呢?求解,谢谢
char *PszFileName="Logon.txt";
CStdioFile MyFile;
CFileException FileException;
if(MyFile.Open(PszFileName,CFile::typeText|CFile::modeReadWrite),&FileException){
CString StrBuf;
int f=0;
while(MyFile.ReadString(StrBuf))
f++;
MyFile.SeekToBegin();
int i=0;
for(i;i<f;){
CString Temp1;
MyFile.ReadString(Temp1);
int n=str.GetLength();
if(Temp1.Left(n)!=str)
i++;
else{
Temp1.Replace(str1,m);
MyFile.Close();
}
}
}
else
TRACE("Can't open file %s,error=%u\n",PszFileName,FileException.m_cause);
}为什么老出现访存错误,在另一个.cpp中运行就没错误,这是什么原因呢?求解,谢谢
调试时,while(MyFile.ReadString(StrBuf))
f++;
这一步出现错误
或者你把Logon.txt放到系统目录下,这样应该在任何一个cpp中都能正常了。
你在另外一个cpp中正常,可能是因为你的Logon.txt在另外一个工程目录中,而不在失败的工程目录中。
m在哪定义?
while语句的错误提示是,循环体中有错误时,往往停止在第一行。