在c和bash之间传递值

时间:2013-11-06 00:04:04

标签: c bash

简单的问题,我希望

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

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

由于

2 个答案:

答案 0 :(得分:1)

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

#!/bin/sh

...

RESULT=$(mycprogram arg1 arg2)

...

答案 1 :(得分:0)

您需要使用

char * getenv (const char *name)

所以你会使用像

这样的东西
char *foo = NULL;

foo = getenv("BAR");

请记住,你会得到一个char *,所以如果你希望int,你需要使用atoi()或类似的东西。检查它不是NULL也是一样的。如果你期待许多你依赖的变量,你可以检查程序开头的所有内容。