报错提示
**[Error] cannot pass objects of non-trivially-copyable type 'std::string {aka class std::basic_string**
说明不可以使用printf输出string类型的字符串。
使用cout << str
在c++中直接利用printf(“%s”,s) 是不允许的,因此c++中提供了一个函数c_str()对字符串进行转换,再利用%s 输出。
该函数是 string 类函数中 的一个成员函数,此函数的作用就是将C++的string转化为C的字符串(char *)数组,即生成一个const char *指针,指向字符串的首地,其指针指向的内容与string 类型的字符串一摸一样。
string s="abcdefg";
printf("%s", s.c_str());