永发信息网

Linux 为什么复制的文件一直增加dup后缀?

答案:1  悬赏:40  手机版
解决时间 2021-12-03 07:12
Linux 为什么复制的文件一直增加dup后缀?
最佳答案
dup函数只有一个参数,也就是输入一个fd,可是没有另外一个参数说,要把这个fd复制给谁?
下面这个小程序,调用fd的结果是,打开的一个文件fd被复制到了标准输出,以至于execl调用的打印内容,被重定向到了文件当中。

#include
#include
#include
#include
#include
#include
int main(void){
int filedes;
if((filedes=open("dd.txt",O_WRONLY|O_CREAT,S_IRUSR|S_IWUSR))<0)
fprintf(stderr,"%s ","open file error");
close(1);
dup(filedes);
close(filedes);
execlp("ls","-l",(char * )0);
return 0;
}

所以看起来dup程序就是要复制一个fd到stdout。是这样的吗,如果我要dup到stdout以外的fd怎么办呢?
------解决思路----------------------
dup返回的是当前最小可用描述符,你这里会重定向到标准输出是因为你close(1),使标准输出描述符可以被用,所以dup返回了1.
如果我要dup到stdout以外的fd,使用dup2
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
初中历史教学中如何渗透立德树人
请帮我找一下带有胡萝卜的图片,最好是能做QQ
上海马路淄博路有没有
舞蹈爬跨需要注意什么
在哈站怎么乘车可以到香坊区哈成路259-2号
8^x=1/4 求x
鲜牛奶和调制高盖铁锌哪一种奶好
英美报刊阅读教程第三版课后答案
pads9.5怎样自动灌铜
单选题Thiskindofshirtslooks________a
仆鑫图文怎么去啊,我要去那办事
中宏人寿保险有限公司的重要事件
易拉罐属于废金属里面的什么废铝呢,是不是国
醉驾判一个月单位必须开除吗
如何让野蛮的华夏蛮夷走上历史的终结?
推荐资讯
女孩起名兮兮什么意思
三年级作文我留恋的地方一百口40个字:
WIN10下睡眠计算机被时自动唤醒怎么解决
求高5.5米宽7.5米长5米客厅需要多大吊灯
请问北欧国家是不是普遍比较寒冷
ear.the.purple.colour连词成句
古代女子住的院子叫什么
那2013年的一汽森雅80直多少钱
铁丹男装怎么样?网上可以买到吗?
如图所示探究平面镜成像特点时,将玻璃作为平
你好 我在拍拍贷 上面借的3000块钱,逾期快3
如果丑男跟帅哥做朋友的话,是不是会诋毁到帅
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?