正文

VC++编程打开一个文本文件的例子2006-12-20 17:09:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/otot/21750.html

分享到:

vc++的编程不容易,有时候想实现打开一个文本文件这么简单的功能都挺麻烦的(相对DELPHI),在网上找到一个例子,经修正后列出来。

void CMainFrame::OnFileOpen()
{
//显示文件打开对话框
CFileDialog dlg(TRUE, "SQL", "*.txt",OFN_HIDEREADONLY
|OFN_OVERWRITEPROMPT,"Text Files(*.txt)|*.txt|SQL Files(*.sql)|*.sql|All Files(*.*)|*.*||");
if ( dlg.DoModal()!=IDOK ) return;
//获取文件的绝对路径
CString sFileName=dlg.GetPathName();
//打开文件
CStdioFile out;
out.Open(sFileName, CFile::modeRead);
CString sSql="",s;
//读取文件
do{
out.ReadString(s);
sSql=sSql+s+(char)10;
}
while (out.GetPosition()!=out.GetLength());
out.Close();
AfxMessageBox(sSql);
 }

另有一个方法如下:
 CStdioFile myFile;
   CString ReadFileString;
 if(myFile.Open("C:\\Readme.txt", Cfile::modeRead) == TRUE)
 {
  while(myFile.ReadString(ReadFileString) != FALSE)
  { 
     //... 处理代码 
  }
 }


另外还有一个保存的例子,不过还没经过亲自测试:

/*************************************************
* 写文本文件
**************************************************/
//显示文件保存对话框
CFileDialog dlg(FALSE, "SQL""*.txt",OFN_HIDEREADONLY 
| OFN_OVERWRITEPROMPT,"Text Files(*.txt)|*.txt|SQL Files(*.sql)|*.sql|All Files(*.*)|*.*||"); 
if ( dlg.DoModal()!=IDOK ) return;
//获取文件的绝对路径
CString sFileName=dlg.GetPathName();
CStdioFile out;
//打开文件
out.Open(sFileName, CFile::modeCreate | CFile::modeWrite);
//保存文件
CString sSql="文本文件内容";
out.WriteString(sSql);
out.Close();

阅读(13071) | 评论(9)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册