如何将变量传递给c中的命令

时间:2014-12-23 16:11:16

标签: c linux bash

我在Linux上编写了一个C程序来计算边长(" l&)的边界(我称之为周边变量" p") #34)。 现在我想使用Espeak,Linux上的语音合成程序来说出结果。 我曾想过使用"系统"方法

例如,如果我想让Espeak说话,那么你好"在我的程序中,我会这样做:

system("espeak -v it Hello");

现在我该如何处理周边?

system ("espeak -v it The perimeter is p"); 

不起作用。

2 个答案:

答案 0 :(得分:2)

你可以在

中构建命令
char command[128];
snprintf(command, sizeof command, "espeak -v it The perimeter is %d", p);

如果p是一个整数,如果p的类型不同,则应更改格式说明符。

答案 1 :(得分:0)

感谢大家! 我刚刚解决了

#include<stdio.h>
int main()
{
    char command[128];
    int p=40;
    snprintf(command, sizeof(command), "espeak -v it  \"Il perimetro è %d\"",p);
    printf("%s\n",command);
    system(command);
}