📄 subject_63494.htm
字号:
<p>
序号:63494 发表者:每天进步一点点 发表日期:2003-12-03 23:23:58
<br>主题:急!(超菜问题)如何在文件一行末追加数据(字符串)
<br>内容:我搜索过本论坛了,没找到答案 要不就不用麻烦个位了<BR>CStdioFile fCityS;<BR>if(fCityS.Open(fileNamePathS,CFile::modeReadWrite))<BR>{<BR> while(fCityS.ReadString(strTempS))<BR> {<BR> fCityS.WriteString("ok");<BR> }<BR>}<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>
<font color=red>答案被接受</font><br>回复者:浪际天涯 回复日期:2003-12-04 00:39:16
<br>内容:一行末追加"ok",上面的程序肯定是不行的,我不知道有没有更简单的方法,我的想法是这样的:<BR>每读一行到串中,在该串末尾加上"OK",然后将串写入另一个文件,读写完后,将原来的文件删除,将新的文件更名为原来的名字就行了.<BR>例:(程序已经经过测试)<BR> CStdioFile f1,f2;<BR> if(!f1.Open("c:\\source.txt",CFile::modeRead))<BR> return;<BR> if(!f2.Open("c:\\target.txt",CFile::modeCreate|CFile::modeWrite))<BR> return;<BR> CString str;<BR> while(f1.ReadString(str))<BR> {<BR> str+="OK\n";<BR> f2.WriteString(str);<BR> }<BR> f1.Close();<BR> f2.Close();<BR> ::DeleteFile("c:\\source.txt");<BR> ::rename("c:\\target.txt","c:\\source.txt");
<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-12-04 10:09:37
<br>内容:难道不能把原来的字符串读出来,和ok合在一起 再读进去?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:sunice 回复日期:2003-12-04 10:17:57
<br>内容:文件在写入时,如果原来该位置已经内容,将会被直接覆盖,而不是以插入的方式写入。所以想插入"OK"两个字符是行不通的,我遇到这种情况,也是重新全部重写文件。不知道有没有更好的方法!这个问题很值得讨论,顶!
<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-12-04 10:35:39
<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>
回复者:sunice 回复日期:2003-12-04 10:59:31
<br>内容:你可以使用<BR> File.Open(str,CFile::modeWrite);<BR> File.SetLength(0); // 将原文件内容删除<BR> File.Close();<BR>将原文件内容清除后再重新打开文件写入试试!<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-12-04 11:13:20
<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>
回复者:sunice 回复日期:2003-12-04 11:24:23
<br>内容:C中的File类型有追加模式,而CFile类有这个模式吗?
<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-12-04 11:38:34
<br>内容:CStdioFile中有
<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-12-04 11:44:04
<br>内容:查查msdn中的CStdioFile里面说得很清楚!
<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-12-04 22:33:56
<br>内容:没有啊 CStdioFile 里边的标志是跟 CFile 一样的 但我查过msdn CFile里边没有追加模式啊 楼上的能不能把它贴出来
<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-12-05 11:55:05
<br>内容:CFile::modeNoTruncate
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:iceflower 回复日期:2003-12-05 19:08:33
<br>内容:FILE *fp = NULL;<BR>fp = fopen("you.txt","w+a");<BR>fprintf(fp,"avcdeasdf\n");<BR>fclose(fp);
<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-12-09 10:13:57
<br>内容:还可以打开后将文件指针设置到最后,然后写你的内容。<BR>CFile::SeekToEnd: Positions the current file pointer at the end of the file. <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>
回复者:Who am I 回复日期:2003-12-12 11:17:42
<br>内容:CFile fd;<BR>..........<BR>CString Imgname;<BR>CString sTitle;<BR>................<BR><BR>Imgname = sTitle + "\r\n";<BR>length = Imgname.GetLength();<BR>fd.Write(Imgname, length);<BR><BR>绝对好使!
<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 + -