社区
IBM AIX
帖子详情
当A,B程序都在不断读入标准输入的时候, 为什么往A标准输入里面输入的数据一定能被A读到,而不是被B读到?
janchin
2012-05-21 05:45:51
rt
...全文
94
8
打赏
收藏
当A,B程序都在不断读入标准输入的时候, 为什么往A标准输入里面输入的数据一定能被A读到,而不是被B读到?
rt
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
justkk
2012-05-22
打赏
举报
回复
虽然不同进程的标准输入都是0,但这不是一个东西
两个进程之间的描述符没有可比性
两个进程打开文件后,即使是不同的文件,可能得到的描述符都是3,这两个3之间没有任何关系
qq120848369
2012-05-22
打赏
举报
回复
另外, 如果楼主就是试图多进程并发读一个终端标准输入, 那行为未知。
比如,一个进程,创建5个子进程, 这样5个子进程共享当前终端的标准输入了, 同时读不知道会发生什么。
qq120848369
2012-05-22
打赏
举报
回复
一个终端一个标准输入。
janchin
2012-05-22
打赏
举报
回复
[Quote=引用 5 楼 的回复:]
虽然不同进程的标准输入都是0,但这不是一个东西
两个进程之间的描述符没有可比性
两个进程打开文件后,即使是不同的文件,可能得到的描述符都是3,这两个3之间没有任何关系
[/Quote]
哦~明白了~这个是进程全局量~~不是系统全局量。。。唉。。。以前还一直以为是系统全局的。。。谢谢你!
janchin
2012-05-21
打赏
举报
回复
[Quote=引用 2 楼 的回复:]
楼主如何做到两个程序同时在前台跑的..
[/Quote]
为啥一定要同时占用终端么?后台进程就不能写入标准输入么?用popen(cmd, “w”)之类的函数。。。既然标准输入只有一个~我同时向标准输入写入数据,有怎么保证这些数据的正确性,而不会相互影响呢?我看标准输入就会进程间相互抢夺的输出。。。
janchin
2012-05-21
打赏
举报
回复
[Quote=引用 1 楼 的回复:]
两个程序的标准输入不是同一个终端?
[/Quote]
不是~我的意思是 如果所有程序的标准输入都是0 那么如果很多进程同时读取标准输入, 如果保证读到的就一定是自己的?单cpu下还可能是互斥的但是假设是多CPU呢?
qq120848369
2012-05-21
打赏
举报
回复
楼主如何做到两个程序同时在前台跑的..
justkk
2012-05-21
打赏
举报
回复
两个程序的标准输入不是同一个终端?
你的
程序
要
读入
一系列正整数
数据
,
输入
-1表示
输入
结束,-1本身不是
输入
的
数据
。
程序
输出
读到
的
数据
中的奇数和偶数的个数。
程序
输出
读到
的
数据
中的奇数和偶数的个数。
输入
格式: 一系列正整数,整数的范围是(0,100000)。如果
输入
-1则表示
输入
结束。 输出格式: 两个整数,第一个整数表示
读入
数据
中的奇数的个数,第二个整数表示
读入
数据
...
输入
两个整数a和b,计算a+b的和注意此题是多组测试
数据
输入
两个整数a和b,计算a+b的和 注意此题是多组测试
数据
解题思路: 这道题目的重点是scanf函数。 函数名: scanf 功 能: 执行格式化
输入
用 法: int scanf(char *format[,argument,...]); scanf()函数是...
第三计算a+b,
输入
数据
有多组。 每组一行,为两个整数A, B。
输入
0 0表示
输入
结束,该组
输入
不用处理。
输入
数据
有多组。 每组一行,为两个整数A, B。
输入
0 0表示
输入
结束,该组
输入
不用处理。 输出 对每行
输入
,输出A+B的值,单独占一行。 样例
输入
1 2 0 0 样例输出 3 #include<stdio.h> int main() { int a,b; ...
计算A+B。
输入
数据
有多组。 每组一行,为整数A, B求和
输入
数据
有多组。 每组一行,为整数A, B。 输出 对每行
输入
,输出A+B的值,单独占一行。 样例
输入
1 2 3 4 样例输出 3 7 #include"stdio.h" int main() { int a,b; while(scanf("%d%d",&a,&b)!=EOF) { ...
c语言 从键盘任意
输入
两个数存入变量a、b,交换a、b中的值,输出交换后的a、b
编写
程序
,从键盘任意
输入
两个数存入变量a、b,交换a、b中的值,输出交换后的a、b。 提示:要实现交换,需要一个中间变量t,基本语句是: t=a;a=b; b=t; #include <stdio.h> int main(){ /* 编写
程序
,从...
IBM AIX
1,196
社区成员
1,016
社区内容
发帖
与我相关
我的任务
IBM AIX
该论坛主要探讨IBM AIX平台的安装、部署、应用开发等话题,并为网友们提供自由交流的平台。
复制链接
扫一扫
分享
社区描述
该论坛主要探讨IBM AIX平台的安装、部署、应用开发等话题,并为网友们提供自由交流的平台。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章