system返回值--转载

详细参考帖子: system函数返回值_zy799894671的专栏-CSDN博客_c++ system返回值

摘录帖子主要内容如下:

system的返回值并不等于其调用的程序的返回值
在程序中,用exit来设置进程的退出值时,虽然该函数的参数类型为int型,但再父进程中只能取到其值的低8位.所以用exit返回值时,高于255的值是没有意义的. 
对于system函数,返回值是由两部分组成的,低8位值表示所执行的脚本在执行过程中所接收到的信号值,其余的位表示的脚本exit退出时所设置的值
WEXITSTATUS(status)可以得到调用程序的返回值。

示例:

ret = system("exit 3");
printf("ret%d  ret%d\n",ret,ret/256);  //结果 ret768  ret3

status = system("exit 3");
printf("WEXITSTATUS(status):%d/n",WEXITSTATUS(status)); 结果 WEXITSTATUS(status): 3

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值