栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

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

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

本文实例讲述了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.mshxw.com
本文地址:https://www.mshxw.com/it/65624.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号