当前位置:  编程技术>c/c++/嵌入式

VC++在TXT文件指定位置追加内容的方法

    来源: 互联网  发布时间:2014-10-26

    本文导语:  本文实例讲述了VC++操作文本文件的方法,实现在txt文件指定位置插入内容。对于VC++爱好者有一定的学习参考价值。 主要功能代码如下: void CGoToFileDlg::OnPaint() { if (IsIconic()) { CPaintDC dc(this); SendMessage(WM_ICONERASEBKGND, (WPAR...

本文实例讲述了VC++操作文本文件的方法,实现在txt文件指定位置插入内容。对于VC++爱好者有一定的学习参考价值。

主要功能代码如下:

void CGoToFileDlg::OnPaint()
{
 if (IsIconic())
 {
 CPaintDC dc(this); 
 SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);
 int cxIcon = GetSystemMetrics(SM_CXICON);
 int cyIcon = GetSystemMetrics(SM_CYICON);
 CRect rect;
 GetClientRect(&rect);
 int x = (rect.Width() - cxIcon + 1) / 2;
 int y = (rect.Height() - cyIcon + 1) / 2;
 dc.DrawIcon(x, y, m_hIcon);
 }
 else
 {
 CDialog::OnPaint();
 }
}
HCURSOR CGoToFileDlg::OnQueryDragIcon()
{
 return (HCURSOR) m_hIcon;
}
void CGoToFileDlg::OnButopen()
{
 CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,
 "All Files(*.TXT)|*.TXT||",AfxGetMainWnd());//构造文件打开对话框
 if (dlg.DoModal() == IDOK)//判断是否按下"打开"按钮
 {
 m_Path = dlg.GetPathName(); //获得文件路径
 FILE *pFile = fopen(m_Path,"r+t");//以读写形式打开文件
 if (pFile)//判断文件是否被正确打开
 {
  char pchData[1000] = {0};//定义数据缓冲区
  fread(pchData,sizeof(char),1000,pFile); //读取数据到缓冲区中
  fclose(pFile);//关闭文件
  m_File = pchData;
 }
 UpdateData(FALSE);
 }
}
void CGoToFileDlg::OnButinsert()
{
 UpdateData();
 FILE *pFile = fopen(m_Path,"r+t");//以读写形式打开文件
 if (pFile)//判断文件是否被正确打开
 {
 fseek(pFile,m_Goto,SEEK_SET);//定位文件
 CString str = m_Text + m_File.Right(m_File.GetLength()-m_Goto);//设置字符串
 fputs(str.GetBuffer(0),pFile); //向文件中写入数据
 fseek(pFile,0,SEEK_SET);//重新定位文件
 char pchData[1000] = {0};//定义数据缓冲区
 fread(pchData,sizeof(char),1000,pFile); //读取数据到缓冲区中
 fclose(pFile);//关闭文件
 m_File = pchData;
 UpdateData(FALSE);
 }
}

代码备有较为详细的注释,相对来说不难理解。读者还可以进一步完善程序代码,以实现更为强大的功能。


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Java读写包括中文的txt文件时不同编码格式问题解决
  • Vim 打开.txt文件后会生成.txt~文件,如何取消?
  • 如新建一个文件夹里面有a.txt b.txt 然后将这个文件夹删除。用一句来实现怎么写啊?
  • 我要下载*.txt文件,怎样才能出现下载对话框,而不是在IE里面直接打开*.txt文件
  • awk如何看a.txt里的字符串 在b.txt里总共出现过多少次
  • 从a.txt中取出内容赋给变量num,用shell script如何写呢?num=cat a.txt这个不对啊.谢谢了.
  • 进入vi后,:help中看到的很多帮助文件的列表 usr_07.txt usr 08.txt怎么打开呢?
  • 是否有系统函数将全路径文件名,格式化为文件名。如(/tmp/test.txt -> test.txt)
  • 用python分割TXT文件成4K的TXT文件
  • grep如何寻找"butxt"?
  • shell,我有2个txt文档,如何那shell进行判断?
  • 编程语言 iis7站长之家
  • C#清空添加的txt文件的实例代码
  • linux 下显示a.txt的某一列
  • find命令查找以.txt和.pdf和.jsp结尾的文件
  • Linux下TXT格式问题
  • 求助:使用sh脚本,把文件1.txt中的A都替换成B
  • 请问在dos下如何建立一个*.txt文件?,用命令。谢谢!
  • U盘,.txt文件的查看
  • solaris下打开windows下建的txt显示乱码,如何解决???
  • 数据库存储, 改用TXT文件存储


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3