【发布时间】:2019-02-17 11:14:23
【问题描述】:
我正在尝试返回一个 shell 脚本的值。从我读过的内容来看,我可以使用 popen,但由于某种原因,我无法让代码正常工作。现在,当我运行代码时,我得到的是乱码,而不是我想要的浮点数。
shell 脚本中的值是一个浮点数。
我想返回一个 bash 脚本的值,这样我就可以使用从 shell 脚本返回的值作为我的 C 代码的变量。
#include <stdio.h>
//Settings Variables
float upload_speed;
float download_speed;
int main(int argc, char **argv)
{
FILE *upload_speed;
//Runs shell script on code and returns data
upload_speed = popen("./Filter_Data.sh Upload", "r");
printf("return value is: %s", upload_speed);
return 0;
}
【问题讨论】:
-
请发布minimal reproducible example,包括您预期会发生的事情以及实际发生的事情。
-
@melpomene 这是 C 部分的代码。
-
为什么要加入
<mysql/mysql.h>?为什么你有全局变量(未使用)?你有没有用 C 语言处理过文件(例如使用fopen、fread、fgets等)? -
您使用什么编译器选项?如果你使用 gcc,你至少应该有
gcc -Wall -Wextra -pedantic -O2。 -
@melpomene,稍后在代码中,将值方式添加到表中。我暂时省略了该代码。我正在使用 geany,并且我的代码符合要求。