代码问题将字符串转换为图表执行
code problems convert string to chart execl
我在编译代码时遇到了这个错误。可执行文件适用于在覆盆子上的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());
相关文章:
- 为什么g++在未执行的代码处标记强制转换错误
- 我编写了代码将十进制分数转换为其二进制等效数.它编译得很好,但在执行时挂起
- C++如何乘以包含 std::variant 元素的向量的迭代器?正在执行迭代器类型的转换?
- 执行具有转换错误的过程
- 是什么将程序集转换为实际可执行的材料
- 显式构造函数仍在执行转换
- 需要帮助转换以执行循环
- 如何对字符串作为指针执行大写转换
- 代码问题将字符串转换为图表执行
- 未执行lvalue到rvalue转换
- 将 int 转换为双精度以执行 std::complex <double>的"*"操作
- 模板化构造函数无法执行转换
- C++ 仅当模板为字符串类型时执行小写转换
- 通过引用派生类对象从基类对象执行向下转换时引发bad_cast异常
- 将lambdas转换为std ::函数时,执行const-correctness
- 尝试执行绕道附加,但无法将我的lua函数的数据类型转换为LPVOID
- varargs宏以执行函数调用或将其转换为字符串
- 在转换为较小的数值类型之前执行范围检查的安全、跨平台方法是什么
- 防止在执行时将两个类中的两个对象转换为 bool:if(a!=b)
- 如何将可执行文件转换为 C++ 文件以达到代码峰值