如何在C ++中将std :: string转换为const char *或char *?
在本节中,我们将看到如何将C++字符串(std::string)转换为constchar*或char*。这些格式是C样式字符串。我们有一个名为c_str()的函数。这将帮助我们完成任务。它返回一个指向一个数组的指针,该数组包含一个以空值终止的字符序列(即C字符串),代表字符串对象的当前值。
以下是std::string::c_str的声明。
const char* c_str() const;
该函数返回一个指向数组的指针,该数组包含一个以空值终止的字符序列(即,C字符串),该字符串表示字符串对象的当前值。如果引发异常,则字符串中没有任何更改。
范例程式码
#include <iostream> #include <cstring> #include <string> int main () { std::string str ("Please divide this sentence into parts"); char * cstr = new char [str.length()+1]; std::strcpy (cstr, str.c_str()); char * p = std::strtok (cstr," "); while (p!=0) { std::cout << p << '\n'; p = std::strtok(NULL," "); } delete[] cstr; return 0; }
输出结果
Please divide this sentence into parts