C-从字符串获取干净的数字变量



我一直在摆弄一些小型LCD项目的C编程。

我有一个字符串,该字符串在BASH(脚本)中执行,将值从0-100(音量级别)返回字符串是这样的:

!/bin/bash

amixer获取'diyinhk时钟选择器',0 |awk'/[/{getline;打印$ 5}'|tr -d'[]%'

我需要返回此值,以便可以在if/else语句中使用它,例如我认为该值以ASCII的方式返回?

printf输出正确,例如。当amixer是98时,屏幕上的printf为98但是在LCD上,有一种98之后的_ ....像这样:98_它是某种"返回"值?

我需要的是一个干净的数字,我可以用作EG。:

if(get_volume< = 30)

语句;

else if(get_volume< = 50)

语句;

否则... ..........

这是一个片段:

文件 *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);//在屏幕上打印输出

atoi函数将代表一个数字的字符串转换为int。因此,要获得"干净的数字",您需要类似的东西:

int volume = atoi(line);

相关内容

  • 没有找到相关文章

最新更新