如何获取std::string的字符串指针
作者:野牛程序员:2023-08-07 15:26:12 C++阅读 3254
要获取std::string
对象中的字符串指针,你可以使用c_str()
或data()
成员函数。这两个成员函数返回一个指向std::string
中字符数据的指针。请注意,这些指针是指向常量字符数组(const char*
),因此你不能通过这些指针修改std::string
中的内容。
下面是两种方法的示例:
#include <iostream> #include <string> int main() { std::string myString = "Hello, world!"; // 使用 c_str() 方法获取字符串指针 const char* strPointer1 = myString.c_str(); // 使用 data() 方法获取字符串指针(C++11 及更高版本支持) const char* strPointer2 = myString.data(); // 输出字符串指针的值 std::cout << "strPointer1: " << strPointer1 << std::endl; std::cout << "strPointer2: " << strPointer2 << std::endl; return 0; }
在这个示例中,声明一个std::string
对象myString
并初始化它为"Hello, world!"。然后,使用c_str()
和data()
成员函数来获取字符串指针,并将它们输出到控制台。
请注意,c_str()
函数在C++98及以后的版本中都可用,而data()
函数在C++11及以后的版本中才被引入,如果你的编译器支持C++11或更高版本,建议使用data()
函数。另外,使用这些指针时请确保std::string
对象在使用期间保持有效,以免访问已释放的内存。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

- 上一篇:C++实现小巧蜂鸣报时器Beeper
- 下一篇:C++知识讲解