网页素材: 导航菜单选项卡滑动门焦点图图片切换下拉菜单弹出层Tabs链接提示

您的当前位置: 源码爱好者 » 网页制作教程(编程教程) » VC++技术教程

VC++ 在TXT文本文件指定位置追加内容

  • 标签:TXT 追加内容  更新时间:2014-07-31
  • 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++ GoToFile在文件指定位置插入内容

  • 已读: 次 收藏本文关闭本文打印本文复制链接
处理 SSI 文件时出错