如何使用write()将结构写入文件

Ari*_*edi 1 c

1)我有一个结构,需要使用write()系统调用将其写入文件,而不是fwrite().这可能吗?

2)将结构写入文件后,我需要读取另一个文件,并将其写入文件末尾,现在写入结构.

任何帮助,将不胜感激.

tom*_*ahh 5

这会将您的结构写入文件.

int fd = open(file, O_WRONLY);
struct my_struct a;

write(output, &a, sizeof(struct my_struct));
Run Code Online (Sandbox Code Playgroud)

对于另一个文件,只需打开它,在循环中读取它的内容,然后将其写入前一个文件.

int fd2 = open(otherfile, O_RDONLY);
int readret;
char buf[4096];

while ((readret = read(fd2, buf, sizeof(buf) != 0) {
  write(fd, buf, readret); 
}
Run Code Online (Sandbox Code Playgroud)

记得测试每个写/读结果(如评论中所述),并处理这些错误.

  • 你总是*应该测试`write`的结果 (4认同)