如何将std :: Basic_string类型转换为char类型的数组

How can I convert a std::basic_string type to an array of char type?

本文关键字:char 类型 数组 类型转换 std Basic string      更新时间:2023-10-16

我在运行此代码时会出现以下错误:

syslog(LOG_ERR | LOG_USER, "%s",errorString);

无法将'const string {aka const std :: basic_string}'转换为'const char*'for> groment'2'到'void syslog(int,const char*,...)'inserver.cpp/pecounter
行478 C/C 问题

我正在驱动程序,而使用COUT输出到STDIO时,错误的弦值可以打印好,但是在使用Syslog调用时不会打印。

将STD :: BASIC_STRING(CHAR)的任何方法变成" const char'的形式。

我发现std::basic_string具有一个项目访问方法c_str(),该方法似乎可以解决编译问题。

这是一个提供更多信息的网站:http://en.cppreference.com/w/cpp/string/basic_string

c_str()data()成员函数提供了一个指向包含您的字符串的char_type数组的第一个元素。只要字符串对象本身保持有效且没有变化(但是要注意可能导致重新位置的操作可能会使指针无效的操作 - 最好不要存储它)。

)。
相关文章: