gpt4 book ai didi

c++ - 从 C++ 中的系统函数获取一个整数(大于 255)

转载 作者:行者123 更新时间:2023-11-30 01:39:08 25 4
gpt4 key购买 nike

我有一个相对简单的问题,但我似乎做不到。我需要做的是在 C++ 程序中使用 system 函数从 bash 脚本中检索一个整数。我的理解是 system 默认返回一个整数,所以我应该可以做类似的事情

int returnedVal = system ("myscript");

然而,主要问题是 bash 脚本没有返回值,只有一个介于 0 到 255 之间的标志,表示它们是否成功。我曾尝试做一些事情,比如在脚本中写入一个文本文件,然后读入一个文件,但这导致了一些问题,我想尽可能避免这种情况。有谁知道最简单的方法吗?非常感谢。

最佳答案

POSIX exit(3) 说:

The value of status may be 0, EXIT_SUCCESS, EXIT_FAILURE, [CX] [Option Start] or any other value, though only the least significant 8 bits (that is, status & 0377) shall be available to a waiting parent process.

这意味着任何大于 8 位可能表示的值都不能通过调用 exit 从正常进程终止中退出,然后父级无法捕获更多。

更多关于这个。不要使用返回值来传输一些数据,它主要是为了表示成功或失败的状态。 0值表示成功,其他为失败。

如果您希望您的进程进行通信,那么您需要一些通信 channel (文件、管道等)。

关于c++ - 从 C++ 中的系统函数获取一个整数(大于 255),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46432302/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com