Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在c和bash之间传输值_C_Bash - Fatal编程技术网

在c和bash之间传输值

在c和bash之间传输值,c,bash,C,Bash,我希望是一个简单的问题 我有一个c程序,它做很多数学运算。它需要几个输入浮点数,然后返回几个浮点数。我希望将这段代码合并到一个bash脚本中,该脚本在正确的时间运行它,并将正确的值传递给它,然后读取结果 最简单和最简单的方法是什么?在调用c程序时将这些值作为命令行参数传递是否有效?然后简单地将结果作为字符串存储在bash中,以便在我方便的时候进行解析?请告诉我有一个简单的方法 谢谢您可以通过将命令行参数传递给C程序。在最简单的情况下,程序返回一个数字(结果),您可以在bash脚本中捕获该结果:

我希望是一个简单的问题

我有一个c程序,它做很多数学运算。它需要几个输入浮点数,然后返回几个浮点数。我希望将这段代码合并到一个bash脚本中,该脚本在正确的时间运行它,并将正确的值传递给它,然后读取结果

最简单和最简单的方法是什么?在调用c程序时将这些值作为命令行参数传递是否有效?然后简单地将结果作为字符串存储在bash中,以便在我方便的时候进行解析?请告诉我有一个简单的方法


谢谢

您可以通过将命令行参数传递给C程序。在最简单的情况下,程序返回一个数字(结果),您可以在bash脚本中捕获该结果:

#!/bin/sh

...

RESULT=$(mycprogram arg1 arg2)

...
你需要使用

char * getenv (const char *name)
所以你会使用类似

char *foo = NULL;

foo = getenv("BAR");
请记住,您将得到一个char*,因此如果希望得到
int
,您需要使用
atoi()
或类似的东西。检查它是否为NULL也是如此。如果您希望使用许多依赖的变量,那么可以在程序开始时检查所有变量。

atod()和
printf()
?a)我个人倾向于认为将参数传递给stdin更灵活。b) 从程序的标准输出读取结果也适用于多个结果值。