当前位置:首页 > 通信资讯 > 正文

vc读取txt文件内容(c追加写入txt文件内容)

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

主要功能代码如下:

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 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); } }

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

如果您对该产品感兴趣,请填写办理(客服微信:xiaoxiongyidong)

为您推荐:

发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。