【发布时间】:2025-12-17 17:30:03
【问题描述】:
我对这个简单的代码有疑问:
int main(int argc, char const *argv[]) {
int fichier = open("ecrire.txt", O_APPEND | O_WRONLY | O_CREAT);
dup2(fichier, 1);
printf("test");
return 0;
}
我只需要用 dup2 和 printf 在我的文件上写“测试”。但没有任何内容附加到文件中。
如果您有解决方案,谢谢
【问题讨论】:
-
贴出的代码编译失败!除其他外,它缺少所需的
#include语句:`#include#include #include ` 用于 open()函数,@ 987654325@函数:dup2()。#include <stdio.h>函数:`printf() -
在调用
open()时,始终检查(0>=)返回值以确保操作成功。在调用dup2()时,请始终检查返回值(!= -1)以确保操作成功。 -
建议使用这种形式的
open()语句:int open(const char *pathname, int flags, mode_t mode);以便可以读取生成的文件等