⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_62171.htm

📁 vc
💻 HTM
字号:
<p>
序号:62171 发表者:蚂蚁哥 发表日期:2003-11-25 09:56:55
<br>主题:请问如何在文本文件*.txt中间某个位置插入一行文本?
<br>内容:请问高手,我想在文本文件的某个位置插入一行文本,我用的如下代码,但结果没有插入一行,而是覆盖了后面的内容,有没有人告诉我怎么写?<BR><BR>void CDeletDlg::OnOK() <BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;// TODO: Add extra validation here<BR>&nbsp;&nbsp;&nbsp;&nbsp;CStdioFile _fm_file;<BR>&nbsp;&nbsp;&nbsp;&nbsp;_fm_file.Open(&#34;fm.txt&#34;,CFile::modeReadWrite);<BR>&nbsp;&nbsp;&nbsp;&nbsp;_fm_file.Seek(9,CFile::begin);<BR>&nbsp;&nbsp;&nbsp;&nbsp;_fm_file.Write(&#34;abcdefg&#34;,7);<BR>&nbsp;&nbsp;&nbsp;&nbsp;_fm_file.Close();<BR>&nbsp;&nbsp;&nbsp;&nbsp;//CDialog::OnOK();<BR>}<BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:luo 回复日期:2003-11-25 10:04:52
<br>内容:你这么写当然是覆盖掉了。在文件中插入一行好像没有太好的方法,只能是一行一行的读,不是要插入位置写入另外一个文件,然后写要插入的行,然后写以后的内容。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:视频新手 回复日期:2003-11-25 10:05:39
<br>内容:1. 要先找到指定位置<BR>2. 读入这个位置后面的全部内容, 放到一个自己准备的缓冲区中<BR>3. 再找一次要插入的位置(这一步不能省)<BR>4. 插入一行文本<BR>5. 把第2步中得到的缓冲区内容全部写到文件中<BR><BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:蚂蚁哥 回复日期:2003-11-25 10:38:50
<br>内容:这个办法我也想到过,但如果文件很大的话,那样可能处理起来效率太低了
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:浪际天涯 回复日期:2003-11-25 11:07:43
<br>内容:好像没有太好的办法<BR>我以前也遇到过,把位置的前后分别存入两个CString中,把要插入的内容放入另一缓冲区中,然后先后写入这三部分
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -