免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3178 | 回复: 10
打印 上一主题 下一主题

[学习] 这题太难了,,各位高手能进来看看嘛, [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-12-11 13:44 |只看该作者 |倒序浏览
如下图所示,

1.假如运行可执行文件(a.out) 前已载入配置文件"fichier"($./a.out fichier ).执行下图程序后,屏幕显示的结果是什么呢,,,,,,

2.  如果去掉第13行的注释,这时管道中有什么信息?就是发生了嘛情况,,,

这高人多,求解答,先谢谢了,,,

222.jpg (39.96 KB, 下载次数: 58)

222.jpg

论坛徽章:
1
天蝎座
日期:2013-10-23 21:11:03
2 [报告]
发表于 2013-12-11 15:19 |只看该作者
管道中传输 argv[1]?

论坛徽章:
11
技术图书徽章
日期:2014-03-01 14:44:34天蝎座
日期:2014-05-21 22:11:59金牛座
日期:2014-05-30 17:06:14
3 [报告]
发表于 2013-12-11 15:41 |只看该作者
先学下不用截图怎么贴代码

论坛徽章:
0
4 [报告]
发表于 2013-12-11 16:35 |只看该作者
我个人觉得,去掉13行的注释,此时管道中神马都没有,各路高手速来围观,集思广益


openspace 发表于 2013-12-11 15:19
管道中传输 argv[1]?

论坛徽章:
0
5 [报告]
发表于 2013-12-11 16:37 |只看该作者
代码如下:谢谢做答


1.  int main(int argc, char *argv[]) {
2.  int fd[2]; char argument[128];
3.  if ( argc < 2 ) { perror("Argument manquant !"), exit(1); }
4.  if (pipe(fd) != 0) { perror("Pipe"); exit(1); }
5.  close(0);
6.  if ( dup(fd[0]) == -1 ) { perror("Dup fd0"); exit(1); }
7.  close(1);
8.  if ( dup(fd[1]) == -1 ) { perror("Dup fd1"); exit(1); }
9.  if ( fork() == 0 )
10.  { sleep(1);
11.    read(fd[0], argument, sizeof(argument));
12.    printf("Argument recu = %s", argument);
13.    // pause();
14.    exit(0); }
15.else  { write(fd[1], argv[1], strlen(argv[1]));
16.    printf("Argument envoye = %s", argv[1]);
17.    exit(0); }
18.}


timespace 发表于 2013-12-11 15:41
先学下不用截图怎么贴代码

论坛徽章:
4
白羊座
日期:2013-09-17 21:59:30技术图书徽章
日期:2013-10-12 22:16:03白羊座
日期:2013-10-14 11:01:40双子座
日期:2013-12-17 18:26:39
6 [报告]
发表于 2013-12-11 19:52 |只看该作者
屏幕肯定没有输出。
至于管道的内容,我认为什么也没有的可能性最大。
当标准输出是管道的时候是全缓冲,
而pause上面的这条输出语句输出的内容应当不足以填满缓冲区。

论坛徽章:
0
7 [报告]
发表于 2013-12-11 23:43 |只看该作者
本帖最后由 smallmaple 于 2013-12-12 00:45 编辑

我想得太简单了!

论坛徽章:
0
8 [报告]
发表于 2013-12-12 06:51 |只看该作者
啊,屏幕没有输出吗,
我个人觉得应该输出
Argument envoye = fichier
Argument recu = fichier

大家的意见呢?

井蛙夏虫 发表于 2013-12-11 19:52
屏幕肯定没有输出。
至于管道的内容,我认为什么也没有的可能性最大。
当标准输出是管道的时候是全缓冲, ...

论坛徽章:
4
白羊座
日期:2013-09-17 21:59:30技术图书徽章
日期:2013-10-12 22:16:03白羊座
日期:2013-10-14 11:01:40双子座
日期:2013-12-17 18:26:39
9 [报告]
发表于 2013-12-12 17:48 |只看该作者
回复 8# 飞翔的大毛熊
一般标准输出对应文件描述符1,你把标准输出打开到管道的写端,怎么还能输出到屏幕

   

论坛徽章:
0
10 [报告]
发表于 2013-12-12 17:55 |只看该作者
这是老师给的题,哎,我也没办法啊,问100个人说100个结果,,这尼玛神马老师


井蛙夏虫 发表于 2013-12-12 17:48
回复 8# 飞翔的大毛熊
一般标准输出对应文件描述符1,你把标准输出打开到管道的写端,怎么还能输出到屏幕 ...
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP