VC++在TXT文件指定位置追加内容的方法
更新时间:2014年08月05日 09:15:13 投稿:shichen2014
这篇文章主要介绍了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);
}
}
代码备有较为详细的注释,相对来说不难理解。读者还可以进一步完善程序代码,以实现更为强大的功能。
相关文章
VC++ 字符串String MD5计算小工具 VS2008工程
基于字符串加密的MD5算法,VS2008 VC++,多字节编译工程。主要代码如下,实现了ANSI字符串加密与Unicode字符串加密,需要的朋友可以参考下2017-07-07
QT中QByteArray与char、int、float之间的互相转化
本文主要介绍了QT中QByteArray与char、int、float之间的互相转化,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2022-05-05
关于VS2022不能使用<bits/stdc++.h>的解决方案(万能头文件)
#include<bits/stdc++.h>包含了目前 C++ 所包含的所有头文件,又称万能头文件,那么如何在VS2022中使用万能头呢?下面小编给大家代理了关于VS2022不能使用<bits/stdc++.h>的解决方案(万能头文件),感兴趣的朋友一起看看吧2022-03-03


最新评论