问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

linux dup2()函数怎么不能重定向标准输出(STDOUT)到文件?

发布网友 发布时间:2022-04-12 19:20

我来回答

3个回答

懂视网 时间:2022-04-12 23:41


update 2014.04.10

今天有了“更深”的认识吧

int dup2(int filedes1,int filedes2);
是把filedes2指向的流关闭,而重定向到filedes1指向的流,此时filedes1和filedes2均指向同一个流。

就这么简单。。。。

热心网友 时间:2022-04-12 20:49

我没怎么改,编译运行好像正常?
#include<stdio.h>
#include<unistd.h>

int main(int argc,char **argv)
{
FILE * fd;

fd = fopen("log.txt","a+");

p2(fileno(fd), 1);
p2(fileno(fd), 2);

int i=0;
for(i=0;i<5;i++)
{
printf("output to STDOUT!\n");
fprintf(stderr,"output to STDERR!\n");
sleep(2);
}

return 0;
}

结果:

[ksl@myhost ~]$ cat log.txt
output to STDERR!
output to STDERR!
output to STDERR!
output to STDERR!
output to STDERR!
output to STDOUT!
output to STDOUT!
output to STDOUT!
output to STDOUT!
output to STDOUT!

先输出了stderr的原因是,stdout在sleep之后不会立刻输出,而是等到进程要关闭的时候,所以之前每次都会先输出STDERR,等到进程结束的时候才把stdout的内容给刷出来。我这边显示是这样的。

热心网友 时间:2022-04-12 22:07

我没怎么改,编译运行好像正常?
#include<stdio.h>
#include<unistd.h>
int
main(int
argc,char
**argv)
{
FILE
*
fd;
fd
=
fopen("log.txt","a+");
p2
(fileno(fd),
1);
p2(fileno(fd),
2);
int
i=0;
for(i=0;i<5;i++)
{
printf("output
to
STDOUT!\n");
fprintf(stderr,"output
to
STDERR!\n");
sleep(2);
}
return
0;
}
结果:
[ksl@myhost
~]$
cat
log.txt
output
to
STDERR!
output
to
STDERR!
output
to
STDERR!
output
to
STDERR!
output
to
STDERR!
output
to
STDOUT!
output
to
STDOUT!
output
to
STDOUT!
output
to
STDOUT!
output
to
STDOUT!
先输出了stderr的原因是,stdout在sleep之后不会立刻输出,而是等到进程要关闭的时候,所以之前每次都会先输出STDERR,等到进程结束的时候才把stdout的内容给刷出来。我这边显示是这样的。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
南安椎间盘突出症的症状,悬壶邱腰神在陕西哪里 安康腰椎间盘突出一条腿麻保守治疗的方法,悬壶邱大夫的详细位置_百度知 ... 宣传片拍摄有哪些长处? 继承房产过户费用要多少? 继承5万房产过户需要多少费用多少钱 继承的房产过户需要多少费用 继承5万房产过户需要多少费用 灵芝茶减肥效果怎么样 南京滴滴和t3哪个收入多 属虎女人的和属鸡男人的配吗 嘴唇周围有黑圈是怎么回事 嘴巴外边一圈发黑是什么原因? 嘴周围变黑是什么原因? 大名府滴溜酒春夏秋冬多少钱 大名府39度有20年的吗 dup2 文件重定位 哪位高手帮我看看下面这个程序为什么会出现那个警告?? 笔记本1060玩vr会不会比较吃力 请推荐一些电脑,电脑品牌(要能连vr玩游戏那种配置) 兄弟们vr玩游戏没那种的爽?pc的还是那种一体机?电脑配置要求是什么? 配arpara 的PCVR游戏套装的话电脑要什么配置? 用哪个牌子笔记本电脑制作VR游戏好?系统配制需要什么功能? 笔记本电脑如何玩VR游戏,需要什么样的配置 笔记本能玩vr游戏吗 适合玩VR的笔记本有哪些 公司注销为什么都选择快注销呢? 为什么要先注销企业再分配 75位艺人注销200家公司,为什么大家集中注销公司? dup2的书目摘抄 孩子身上老起红疙瘩,*的难受,抹过好多药膏都不管用,怎么办??? 宝宝过敏身上起红疙瘩怎么办 嘴唇周围为什么会又一圈黑? 嘴唇周围会看起来很黑为什么? 嘴角边一圈黑的是什么呢 嘴唇周围为什么有一圈黑啊!! 嘴巴周围一圈比脸部其它部位肤色要黑些,请问是什么原因啊?有什么方法解决呢? 长沙话哦改是什么意思 日文 哦改里 (中文发音) 的意思是什么? 嘴边一圈发黑是咋回事啊 为什么我嘴唇旁边一圈黑? 怎么样才能把“哦”变得不那么敷衍? 太阳哦改是圆的? 哦改咯6元槟榔有几个 在销售过程顾客只回应嗯 哦改怎么说 如何加盟哦改咯槟榔 湖南话 哦改会国痛 撒子意思、?知道的说下、 老班长说我没完成好任务没把你们照顾哦改为转述句 哦,辣条原来可以这么好吃。这句话有毛病吗? 失去了方向,在人生的十字路口迷茫,不知带哦改订什么样的目标?求高人指点迷津 苹果5怎么清理内存垃圾 怎么清理iphone5内存?