怎么把TXT文件中的字符一行一行读出来

时间:2021-04-08 01:21:24
怎么把txt文件中的字符一行一行读出来,并在界面上的文本框中显示读到的字符?
void CReadFileDlg::OnReadtxtButton() 
{
  char *pszFileName="D:\\myfile.txt";
  CStdioFile myFile;
  CFileException fileException;
  if(myFile.Open(pszFileName,CFile::typeText|CFile::modeReadWrite),&fileException)
{
myFile.SeekToBegin();
CString str;
myFile.ReadString(str);
m_text=str;//m_text是显示的文本框变量
UpdateData(false);

}
else
{
TRACE("Can't open file %s,error=%u\n",pszFileName,fileException.m_cause);
}
myFile.Close();

}
这样只读到txt文件中的第一行,如果要逐行读出来是不是要在OnTimer()中执行?但是放到OnTimer()中还是只显示第一行,哪位高手给指点下,多谢多谢!

5 个解决方案

#1


使用WHILE 循环读取

CString CUtilityEx::ReadFile(CString strFileName)   
{   

CStdioFile csfFile;   
CString strFileString  = ""; 
TRY 
{
if(csfFile.Open(strFileName,CFile::modeRead|CFile::shareDenyNone))   
{  
CString strTemp;
while( csfFile.ReadString(strTemp) )
{
strFileString += strTemp + "\r\n";

}  
csfFile.Close();   
}  
}
CATCH (CMemoryException, e)
{
strFileString = "";
}
END_CATCH

return   strFileString;   
}

#2


你用if当然读一次啊 要循环读...

#3


能不能说具体点哦 怎么把TXT文件中的字符一行一行读出来

#4


try...catch...不太会用 怎么把TXT文件中的字符一行一行读出来

#5


CStdioFile类里面有ReadString方法的
该方法读取一行自动跳转下一行的
用while循环即可全部读完

#1


使用WHILE 循环读取

CString CUtilityEx::ReadFile(CString strFileName)   
{   

CStdioFile csfFile;   
CString strFileString  = ""; 
TRY 
{
if(csfFile.Open(strFileName,CFile::modeRead|CFile::shareDenyNone))   
{  
CString strTemp;
while( csfFile.ReadString(strTemp) )
{
strFileString += strTemp + "\r\n";

}  
csfFile.Close();   
}  
}
CATCH (CMemoryException, e)
{
strFileString = "";
}
END_CATCH

return   strFileString;   
}

#2


你用if当然读一次啊 要循环读...

#3


能不能说具体点哦 怎么把TXT文件中的字符一行一行读出来

#4


try...catch...不太会用 怎么把TXT文件中的字符一行一行读出来

#5


CStdioFile类里面有ReadString方法的
该方法读取一行自动跳转下一行的
用while循环即可全部读完

相关文章