【发布时间】:2016-05-13 03:34:33
【问题描述】:
我正在使用 open() 打开一个文件,并且需要使用 printf 打印到该文件,而没有输出到控制台。我该怎么做呢?我可以成功创建文件,并将 printf 打印到控制台,但这是不正确的。
int main(int argc, char *argv[]) {
int fd;
char *name = "helloworld";
fd = open(name, O_CREAT);
char *hi = "Hello World";
printf("%s\n", hi);
close(fd);
exit(0);
}
我需要程序没有输出到控制台,但是如果我查看文件helloworld,里面应该写有“Hello World”。如:
prompt> ./hello
prompt> more helloworld
Hello World
【问题讨论】:
-
为什么不使用
fprintf? -
我必须使用 printf
-
freopen()到标准输出? -
你通过什么标志打开?第一次尝试时获得正确的标志集可能会很棘手。