鱼C论坛

 找回密码
 立即注册
查看: 1196|回复: 6

[已解决]CFile插入操作

[复制链接]
发表于 2023-7-28 11:53:46 | 显示全部楼层
在C++的MFC中,类似于Word的插入操作,可以使用CFile类的 Seek 函数将文件指针定位到要插入内容的位置,然后使用 Write 函数来实现插入操作。

要实现插入操作,首先需要将文件指针定位到要插入的位置,然后将后续内容先读入缓冲区,再写入插入的内容,最后再将缓冲区中的原内容写回文件。

以下是示例代码,演示了如何在文件指针位置插入内容:

  1. CStdioFile mfile; // 创建文件对象

  2. BOOL b = mfile.Open(_T("D:\\测试.txt"), CFile::modeCreate | CFile::modeReadWrite | CFile::typeUnicode, NULL); // 打开文件
  3. if (!b) {
  4.     AfxMessageBox(_T("文件打开失败"));
  5.     return;
  6. }

  7. ULONGLONG n = mfile.Seek(5 * sizeof(TCHAR), CFile::begin); // 定位文件指针到插入位置

  8. // 读取后续内容
  9. CString strRemainingContent;
  10. mfile.ReadString(strRemainingContent);

  11. // 将文件指针回到插入位置
  12. mfile.Seek(5 * sizeof(TCHAR), CFile::begin);

  13. // 插入新内容
  14. mfile.WriteString(_T("888"));

  15. // 将后续内容写回文件
  16. mfile.WriteString(strRemainingContent);

  17. mfile.Close(); // 关闭文件
复制代码


在上面的代码中,我们使用 ReadString 函数将插入位置之后的内容读入 strRemainingContent 字符串中,然后再将文件指针定位回插入位置,插入新内容,最后再将后续内容写回文件。这样就实现了文件的插入操作。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-9-23 03:05

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表