代码问题将字符串转换为图表执行

code problems convert string to chart execl

本文关键字:执行 转换 问题 字符串 代码      更新时间:2023-10-16

我在编译代码时遇到了这个错误。可执行文件适用于在覆盆子上的LCD中筛选数据的文件 c++:

SerialPort.cpp: In function ‘int main()’:
SerialPort.cpp:121:50: error: cannot convert ‘std::__cxx11::string {aka 
std::__cxx11::basic_string<char>}’ to ‘const char*’ for argument ‘2’ to ‘int 
execl(const char*, const char*, ...)’
execl("/mondossier/programmeYacine", data, data);

这是我的主要:

main()
{
std::string cmd = "0";
while(true){
std::cout << "Entrez Commande" << std::endl;
std::cin >> cmd;
SerialPort* comSerie = new SerialPort();
comSerie->writeSerialPort(cmd);
sleep(1);
std::string data = comSerie->readSerialPort();
std::cout << data << std::endl;
execl("/mondossier/programmeYacine", data, data);
delete(comSerie);
}
}

问题是execl()期待类型const char*的参数,而您正在传递std::string.

您可以使用std::string.c_str()函数来获取相应的C 字符串表示形式。 类型为onst char*

将线路execl("/mondossier/programmeYacine", data, data);更改为execl("/mondossier/programmeYacine", data.c_str(), data.c_str());