在linux下使用c语言将数据写入到文件中。写入多条信息,但只成功写入一句。

是否在循环写入信息时,将之前的内容擦除掉了?使用的open函数和write函数。write函数中的参数为O_RDWR|O_CREAT没有使用O_EXCL和O_TRUNC。... 是否在循环写入信息时,将之前的内容擦除掉了?使用的open函数和write函数。write函数中的参数为O_RDWR|O_CREAT 没有使用O_EXCL和O_TRUNC。目标是在指定文件中写入数据,当文件大小为10M时,打包文件,另开一个文件继续写入。目前实现的功能为打开指定文件,但只能写入一条数据。再次写入的时候就不成功了,还是显示之前的一条信息。 展开
 我来答
错过的勇气11
2015-06-23
知道答主
回答量:17
采纳率:0%
帮助的人:10万
展开全部
你把你要写的东西放在结构体里~一下写一个结构体~并且用lseek将光标指回其结构体之前~就可以写入你所需要的所有数据~
追问
要写的就是一个字符串,类似于日志信息,调用这个接口时就直接往指定的文件中写数据。我定义的是一个字符串数组,因为需要把好多信息用sprintf拼在一起,然后写入。不过问题在于写入文件后查看,正常的数据后面有很多“^@^@^@^”这样的字符。不过可以确认这不是脏数据。以上还得请教请教您。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式