如何获取std::string的字符串指针
作者:野牛程序员:2023-08-07 15:26:12 C++阅读 3574
要获取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++知识讲解
