📄 subject_48998.htm
字号:
<p>
序号:48998 发表者:张浪 发表日期:2003-08-05 20:06:08
<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>
回复者:ben 回复日期:2003-08-05 20:25:32
<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-08-05 20:40:54
<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>
回复者:VChen 回复日期:2003-08-05 23:44:56
<br>内容:如果你用CreateFile打开的文件,可以用SetFilePointer来移动文件指针。<BR>如果你用fopen打开的文件,则fopen的第二个参数加一个"a"
<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-08-06 03:01:28
<br>内容:用fopen<BR>FILE *file;<BR>file = fopen(szFileName,"a");<BR>If (file!=NULL) fprintf(file, "%s%d\n","123",123);//每次执行fprintf都在文件末加数据,不用再定位文件;二进制数据、随机数据用fwrite操作<BR>fclose(file);<BR><BR>用fstream或ofstream<BR>ofstream file(szFileName,ios::out|ios::app);<BR>file<<"123"<<123<<endl; //优点:每次执行<<操作符都在文件末加数据,不用再定位文件;缺点:二进制数据、随机数据不方便<BR><BR>只用CFile<BR>CFile file(szFileName,CFile::modeWrite|CFile::modeCreate|CFile::modeNoTruncate); //自动新建文件,就算已存在也不删改<BR>file.SeekToEnd(); <BR>file.Write(lpBuffer, sizeof lpBuffer);//缺点:格式化数据如整数、字符串写入不方便<BR>file.Close();<BR><BR>用CArchive<BR>CFile file(szFileName,CFile::modeWrite|CFile::modeCreate|CFile::modeNoTruncate);<BR>file.SeekToEnd();//只用一次定位(也许不用定也可以)<BR>CArchive ar(&file,CArchive::store);//优点:CArchive操作灵活,二进制、结构体、字符串等等都比较方便;缺点:<<操作符容易跟ostream的<<混淆<BR>ar<<123;//像ofstream一样操作(字符串不能),事实上自义结构体类型、类类型(类类型要特殊处理)数据都可以<BR>ar.Write(lpBuffer,sizeof lpBuffer);//像fwrite一样操作二进制数<BR>ar.WriteString(SomeChars);//像fprintf(file,"%s",SomeChars)一样写字符串(即不写入"\0";也不自动加"\n","\f")
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:cellar 回复日期:2003-08-06 10:11:26
<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-08-06 21:39:34
<br>内容:用CArchive时漏了一点,关闭时要用<BR>file->Close();<BR>ar->Close();
<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 + -