有人可以告诉我C / C ++中c_str()函数的用途是什么? 在哪种情况下有必要使用它?。
答案 0 :(得分:6)
当您想将字符串与C函数一起使用时
string s = "hello";
printf( "your string:%s", s.c_str() );
答案 1 :(得分:4)
这是一个C ++的东西,而不是C的东西。
c_str(来自std::string
)的常见用法正是将C ++ std::string
转换为const char*
C字符串,这是许多低级别C所要求的函数(例如Posix系统调用,如stat
等)。
答案 2 :(得分:1)
生成以字符串对象为内容的以null结尾的字符序列(c-string),并将其作为指向字符数组的指针返回。
这里有一个很好的例子:http://www.cplusplus.com/reference/string/string/c_str/
答案 3 :(得分:0)
我认为你在询问string::c_str()
?这是一个返回string
对象的C字符串表示的方法。例如,您可能需要C字符串表示来调用OS API。