运行此代码时出现以下错误:
syslog(LOG_ERR | LOG_USER,"%s",errorString);
cannot convert ‘const string {aka const std::basic_string}’ to ‘const char*’ for >argument ‘2’ to ‘void syslog(int,const char*,…)’ inServer.cpp /PeCounter
line 478 C/C++ Problem
我正在守护程序,并且当使用cout输出到stdio时,errorString值打印得很好,但是在使用syslog调用时它不会打印.
任何方式将std :: basic_string(char)变为’const char’的形式.
解决方法
我发现std :: basic_string有一个项访问方法c_str(),似乎可以解决编译问题.
这是一个包含更多信息的网站:http://en.cppreference.com/w/cpp/string/basic_string