VC++在TXT文件指定位置追加內容的方法
更新時間:2014年08月05日 09:15:13 投稿:shichen2014
這篇文章主要介紹了VC++在TXT文件指定位置追加內容的方法,功能較為實用,需要的朋友可以參考下
本文實例講述了VC++操作文本文件的方法,實現(xiàn)在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};//定義數(shù)據(jù)緩沖區(qū)
fread(pchData,sizeof(char),1000,pFile); //讀取數(shù)據(jù)到緩沖區(qū)中
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); //向文件中寫入數(shù)據(jù)
fseek(pFile,0,SEEK_SET);//重新定位文件
char pchData[1000] = {0};//定義數(shù)據(jù)緩沖區(qū)
fread(pchData,sizeof(char),1000,pFile); //讀取數(shù)據(jù)到緩沖區(qū)中
fclose(pFile);//關閉文件
m_File = pchData;
UpdateData(FALSE);
}
}
代碼備有較為詳細的注釋,相對來說不難理解。讀者還可以進一步完善程序代碼,以實現(xiàn)更為強大的功能。
相關文章
詳解如何使用VSCode和CMake構建跨平臺的C/C++開發(fā)環(huán)境
本文主要介紹了如何使用VSCode和CMake構建跨平臺的C/C++開發(fā)環(huán)境,想進行跨平臺開發(fā)的同學們,一定要看一下2021-06-06
C++實現(xiàn)寢室衛(wèi)生管理系統(tǒng)
這篇文章主要為大家詳細介紹了C++實現(xiàn)寢室衛(wèi)生管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03

