3

谁能告诉我 C/C++ 中 c_str() 函数的用途是什么?在什么情况下有必要使用它?

4

4 回答 4

6

当您想将字符串与 C 函数一起使用时

string s = "hello";
printf( "your string:%s", s.c_str() );
于 2011-11-08T07:06:49.367 回答
4

它是 C++ 的东西,而不是 C 的东西。

c_str (from )的一个常见用途std::string就是将 C++ 转换为std::stringCconst char*字符串,这是许多低级 C 函数(例如 Posix 系统调用,如stat等)所需要的。

于 2011-11-08T07:06:02.470 回答
1

生成与字符串对象具有相同内容的以空字符结尾的字符序列(c-string),并将其作为指向字符数组的指针返回。

这里有一个很好的例子:http ://www.cplusplus.com/reference/string/string/c_str/

于 2011-11-08T07:05:43.173 回答
0

我想你问的是string::c_str()什么?它是一种返回对象的 C 字符串表示形式的方法string。例如,您可能需要 C 字符串表示来调用 OS API。

于 2011-11-08T07:06:08.140 回答