我一直在为一个小型LCD项目摆弄一些C编程。
我有一个字符串,在BASH
(脚本)中执行,返回0到100之间的值(音量级别)
字符串是这样的:
!/斌/庆典
amixer获取'DIYINHK时钟选择器',0 | awk'/ [/ {getline;打印$ 5}'| tr -d'[]%'
我需要返回此值,以便我可以在if / else语句中使用它,例如 我认为该值以ascii方式返回?
printf输出正确,例如。当amixer
为98时,屏幕上的printf为98
但是在液晶显示器上,有一种_在98之后....就像这样:98_
它是某种“回归”的价值?
我需要的是一个干净的数字,我可以用作例如。 :
if(get_volume< = 30)
语句;
否则if(get_volume< = 50)
语句;
否则如果.... .......
这是一个片段:
FILE * fpipe;
char * command =(char *)“/ home / pi / lcd / get_volume.sh”; // get_volume脚本
char line [256];
if (! (fpipe = (FILE*)popen(command,"r")) ) { perror("PROBLEMS"); exit(1); } while ( fgets( line, sizeof line, fpipe))
lcdPosition(lcd,0,0);
lcdPrintf(lcd,line); //在LCD上打印输出
printf(“\ nline =%s \ n”,line); //在屏幕上打印输出