打开文件后,把文件指针定位到末尾处,再写就可以了。
有个 FileSeek函数,就可以把光标定位到末尾,然后再写入就不会覆盖了。
FileSeek(file_handle,0,SEEK_END);
加入这段代码再写入就可以了。
打开文件后,把文件指针定位到末尾处,再写就可以了。
有个 FileSeek函数,就可以把光标定位到末尾,然后再写入就不会覆盖了。
FileSeek(file_handle,0,SEEK_END);
加入这段代码再写入就可以了。
不对的,还是把原来的文件清干净了。
打开文件后,把文件指针定位到末尾处,再写就可以了。
有个 FileSeek函数,就可以把光标定位到末尾,然后再写入就不会覆盖了。
FileSeek(file_handle,0,SEEK_END);
加入这段代码再写入就可以了。
这个函数是可以做到的
還是會被覆寫掉就是定位錯誤 代碼用的位置或是方法錯誤才會這樣
两方法:一是读取原文件str,然后与新文件合并,str+=newstr;再次执行写入str.二是使用FileSeek()将文件指针定位到文件尾,需要注意的是此函数的第二个参数是字节数,要定义指针到文件尾,也得先读取原文件,并计算文件字节大小,然后,函数的第二个参数就是移位这个字节数大小。
很简单的东西,你这搞得太复杂了,不需要计算字节长度。
另外说下 FileSeek(file_handle,0,SEEK_END); 这里的0就是相对文件尾的偏移字节数,如果该参数是0,就表示文件指针移动到距离文件尾0字节的位置,也就是文件尾。
这个问题其实非常简单,两个要点:
1. 使用FileOpen时,如果仅仅只有FILE_WRITE则每次打开文件时会删除文件内容,如果文件不存在就创建新的文件。
必须FILE_WRITE|FILE_READ这样的组合标志,打开文件时就不会删除文件已有内容,如果文件不存在就创建新的文件。
2. 文件创建好了,如果要写入数据到文件尾时,把文件指针定位到文件尾,方法是 FileSeek(file_handle,0,SEEK_END)。
如果是连续续写,则没有必要移动文件指针,因为每次写入数据结束,文件指针就位于文件末尾。
这个问题其实非常简单,两个要点:
1. 使用FileOpen时,如果仅仅只有FILE_WRITE则每次打开文件时会删除文件内容,如果文件不存在就创建新的文件。
必须FILE_WRITE|FILE_READ这样的组合标志,打开文件时就不会删除文件已有内容,如果文件不存在就创建新的文件。
2. 文件创建好了,如果要写入数据到文件尾时,把文件指针定位到文件尾,方法是 FileSeek(file_handle,0,SEEK_END)。
如果是连续续写,则没有必要移动文件指针,因为每次写入数据结束,文件指针就位于文件末尾。
大神做了詳細的說明 論壇有你 一切會更好
我觉得好像也是没必要搞那么复杂
“更新”才需要那么复杂,“续写”不需要那么麻烦
建议如果能把需求描述的特别到位可以变相表述,最好的方式还是具体的案例就是说清楚到底需要干啥