C:如何在不使用标准I / O库的情况下将数据附加到文件

时间:2018-02-22 00:06:51

标签: c system-calls fcntl

我想知道是否有办法在不使用标准I / O库(即stdio.h)的函数的情况下将数据附加到文件中。我虽然先做了这样的事情:

#include <fcntl.h>
#include <unistd.h>

int main() {
    int fd = open("test.txt", O_WRONLY | O_CREAT, 0700);
    ssize_t wr = write(fd, "hello world", sizeof("hello world");
}

但是这只会将数据写入文件而不附加它,所以反复显示“hello world”,它只会覆盖以前的数据并显示一次。有人可以帮帮我吗?感谢

1 个答案:

答案 0 :(得分:-3)

试试这个:

#include <fcntl.h>
#include <unistd.h>
#include <string.h>

int main() {
    int fd = open("test.txt", O_WRONLY | O_CREAT | O_APPEND, 0700);
    ssize_t wr = write(fd, "hello world", strlen("hello world");
    exit(0);
}