c++ - 代码问题将字符串转换为图表excel

标签 c++ string char

我在编译代码时遇到了这个错误。 execl 用于文件 c++,它在覆盆子上的 LCD 中显示数据:

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( ));

关于c++ - 代码问题将字符串转换为图表excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50135737/

相关文章:

Java 初学者 - 如何在一行上多次打印一个字符

c++ - String 对象和以 null 结尾的字符数组之间的区别

C++。将符号行读入字符数组/vector 的最快方法

c# - 如何创建包含 const 内容的 C# 列表?

c++ - 使用 std::async 从线程调用函数?

c++ - 比较 int 和 char 与 cast

c++ - 如何为所有 CLion 包含设置一个根?

java - 字符数组的每一个组合

c++在win32学校应用程序上构建错误

c - 了解 C 中的字符串赋值