我尝试使用system()函数运行命令,并将参数转发如下代码所示:
std::stringstream volume_control;
int volume_value = 5;
volume_control << "/usr/bin/amixer cset numid=1 " << volume_value << std::endl;
system(volume_control.str());
此处出现问题是由于std::stringstream未能成功转换为const char*。
我知道在std::string的情况下,有一个方法叫做std::c_string(),如果我没有记错的话,它可以返回我需要的const char*类型。但是,在这种stringstream的情况下,这个方法并不存在。那么该怎么办呢?