怎样读取一个文本文件的内容 最好详细些 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 int fileSize=size*1024;char * buffer=new char[fileSize];while(file.Read(buffer,fileSize)>0){ AfxMessageBox(buffer);} int fileSize=size*1024;char * buffer=new char[fileSize];CFile file("xxx.txt", CFile::modeRead);while(file.Read(buffer,fileSize)>0){ AfxMessageBox(buffer);} CStdioFile SrcFile;SrcFile.Open("c:\\test.txt",CFile::modeRead);//通过CStdioFile类把要转换的TXT文件的内容放到strTemp变量中CString strTemp;SrcFile.ReadString(strTemp);SrcFile.Close(); CString str;CStdioFile F_ddhp; strcpy(tempstr,Len_dir); strcat(tempstr,"\\ver.txt"); if (F_ddhp.Open(tempstr,CFile::modeRead)) F_ddhp.ReadString(str);跟普通文件没什么区别啊 void CFILEManagerDlg::OnButtonLoadFind() { // 载入查找字符串文件 // CFile// CFileFind file; CStdioFile file; UpdateData(); CFileDialog dlg(TRUE); if (dlg.DoModal() != IDOK) { return ; } CString strFindStringFile; strFindStringFile = dlg.GetPathName(); strFindStringFile.TrimLeft(); strFindStringFile.TrimRight(); if (strFindStringFile.GetLength() <= 0) { AfxMessageBox("没有指定查找字符串文件名!"); return ; } if (!file.Open(strFindStringFile, CFile::modeRead)) { AfxMessageBox("打开文件失败!"); return ; } m_lstFindStrings.ResetContent(); CString strFileString; while (file.ReadString(strFileString)) { strFileString.TrimLeft(); strFileString.TrimRight(); if (strFileString.GetLength() == 0) continue; m_lstFindStrings.AddString(strFileString); } UpdateData(FALSE);} txt文件 用CStdioFile类读取比较好// example for CStdioFile::CStdioFilechar* pFileName = "test.txt";CStdioFile f1;if( !f1.Open( pFileName, CFile::modeCreate | CFile::modeWrite | CFile::typeText ) ) { #ifdef _DEBUG afxDump << "Unable to open file" << "\n"; #endif exit( 1 );}CStdioFile f2( stdout );TRY{ CStdioFile f3( pFileName, CFile::modeCreate | CFile::modeWrite | CFile::typeText );}CATCH( CFileException, e ){ #ifdef _DEBUG afxDump << "File could not be opened " << e->m_cause << "\n"; #endif}END_CATCH 尝试打开啊,如果不存在,会返回无法打开的错误。查扩展名就可以判断目标文件是不是文本文件。我习惯是CFlile,比较方便,呵呵。 CFileDialog dlg(true,"*.txt|*.*",NULL,OFN_OVERWRITEPROMPT ,"文本文件(*.txt)|*.txt|All File(*.*)|*.*||",NULL); if(dlg.DoModal() == IDOK) { CString path = dlg.GetPathName(); CStdioFile hFile; try { hFile.Open(path,CFile::modeRead); CString str; while(hFile.ReadString(str))//读完为止 { ..... .... //处理str } } catch(CFileException ex) { TCHAR err[255]; if(ex.GetErrorMessage(err,255)) { CString str = _T("Read File Failed!because:"); str +=err; ::AfxMessageBox(str); } } hFile.Close(); } 我也问一句,在SDK下,不能用CString怎么做 CFile file;file.Open("D:\\filename.txt",CFile::modeRead);int filelen=file.GetLenght();char *buffer=(char *)malloc(filelen);file.Read(buffer,filelen); 虎子的方法可以,但不要忘了加上close CFile file;if(!file.Open("D:\\filename.txt",CFile::modeRead)){ MessageBox("filename.txt can not find!",MB_OK|MB_ICONERROR); return 0;}int filelen=file.GetLenght();char *buffer=(char *)malloc(filelen);file.Read(buffer,filelen);file.Colse(); CFile用完后必须要close吗?如果不close会有什么后果 不close的话,如果程序想在别的地方打开该文件的话,就会打不开,因为文件已被打开了. 用CStdioFile读取文本文件很方便CSdioFiel mFile;mFile.Open( "ddd.text", CFile::modeCreate | CFile::modeWrite )mFile.ReadString();mFile.WriteString(); mFile.Close(); 问个关于OLE对象的问题 北京发布雷电黄色预警 未来6小时有雷阵雨 请推荐一个工具,完成从latex文件到pdf的转化 如何在word的工具栏中加入自己的按钮(类似于金山独霸之类的按钮)? 如何在全局钩子里修改程序的参数? 那里能下载到? 请问installsheld通过向导生产后的文件放在那里? 将不同格式的文件导入SQL Server数据库! 高分求语音录制程序!分数可以商谈!呵呵! 初学MFC,求助怎样弹出消息框 可否介绍分析数据包软件? VC里面内存对齐方式设为字节,在那里设置啊?
char * buffer=new char[fileSize];while(file.Read(buffer,fileSize)>0)
{
AfxMessageBox(buffer);
}
char * buffer=new char[fileSize];
CFile file("xxx.txt", CFile::modeRead);
while(file.Read(buffer,fileSize)>0)
{
AfxMessageBox(buffer);
}
SrcFile.Open("c:\\test.txt",CFile::modeRead);
//通过CStdioFile类把要转换的TXT文件的内容放到strTemp变量中
CString strTemp;
SrcFile.ReadString(strTemp);
SrcFile.Close();
CStdioFile F_ddhp;
strcpy(tempstr,Len_dir);
strcat(tempstr,"\\ver.txt");
if (F_ddhp.Open(tempstr,CFile::modeRead))
F_ddhp.ReadString(str);跟普通文件没什么区别啊
{
// 载入查找字符串文件
// CFile
// CFileFind file;
CStdioFile file;
UpdateData();
CFileDialog dlg(TRUE); if (dlg.DoModal() != IDOK)
{
return ;
}
CString strFindStringFile;
strFindStringFile = dlg.GetPathName(); strFindStringFile.TrimLeft();
strFindStringFile.TrimRight();
if (strFindStringFile.GetLength() <= 0)
{
AfxMessageBox("没有指定查找字符串文件名!");
return ;
} if (!file.Open(strFindStringFile, CFile::modeRead))
{
AfxMessageBox("打开文件失败!");
return ;
} m_lstFindStrings.ResetContent(); CString strFileString;
while (file.ReadString(strFileString))
{
strFileString.TrimLeft();
strFileString.TrimRight();
if (strFileString.GetLength() == 0)
continue;
m_lstFindStrings.AddString(strFileString);
}
UpdateData(FALSE);
}
// example for CStdioFile::CStdioFile
char* pFileName = "test.txt";
CStdioFile f1;
if( !f1.Open( pFileName, CFile::modeCreate
| CFile::modeWrite | CFile::typeText ) ) {
#ifdef _DEBUG
afxDump << "Unable to open file" << "\n";
#endif
exit( 1 );
}
CStdioFile f2( stdout );
TRY
{
CStdioFile f3( pFileName,
CFile::modeCreate | CFile::modeWrite | CFile::typeText );
}
CATCH( CFileException, e )
{
#ifdef _DEBUG
afxDump << "File could not be opened "
<< e->m_cause << "\n";
#endif
}
END_CATCH
查扩展名就可以判断目标文件是不是文本文件。我习惯是CFlile,比较方便,呵呵。
,"文本文件(*.txt)|*.txt|All File(*.*)|*.*||",NULL);
if(dlg.DoModal() == IDOK)
{
CString path = dlg.GetPathName();
CStdioFile hFile;
try
{
hFile.Open(path,CFile::modeRead);
CString str;
while(hFile.ReadString(str))//读完为止
{
.....
....
//处理str
}
}
catch(CFileException ex)
{
TCHAR err[255];
if(ex.GetErrorMessage(err,255))
{
CString str = _T("Read File Failed!because:");
str +=err;
::AfxMessageBox(str);
}
}
hFile.Close();
}
file.Open("D:\\filename.txt",CFile::modeRead);
int filelen=file.GetLenght();
char *buffer=(char *)malloc(filelen);
file.Read(buffer,filelen);
if(!file.Open("D:\\filename.txt",CFile::modeRead))
{
MessageBox("filename.txt can not find!",MB_OK|MB_ICONERROR);
return 0;
}
int filelen=file.GetLenght();
char *buffer=(char *)malloc(filelen);
file.Read(buffer,filelen);
file.Colse();
CSdioFiel mFile;mFile.Open( "ddd.text", CFile::modeCreate | CFile::modeWrite )mFile.ReadString();
mFile.WriteString();
mFile.Close();