📜  C++ string.c_str()函数(1)

📅  最后修改于: 2023-12-03 15:29:51.502000             🧑  作者: Mango

C++ string.c_str()函数介绍

概述

string.c_str()函数是C++ STL中string类的成员函数,它返回一个指向null终止字符数组的指针,该字符数组包含了当前string对象所存储的字符序列。该函数通常用于将string类对象转换为c-style字符串。

语法

const char* c_str() const noexcept;

参数

返回值

一个常量指针,指向字符串中的第一个字符。如果字符串不存在,则返回NULL。

注意事项
  • 返回的指针指向的字符数组是常量,因此不能通过此指针修改字符串中的字符。
  • 如果该字符串在之后被修改,该指针仍然指向的是原始的字符串。
  • 返回的指针只在当前string对象保持不变或被销毁之前有效。
例子:
#include <iostream>
#include <string>

int main() 
{
  std::string str = "Hello world!";
  const char* cstr = str.c_str();
  std::cout << "The c-style string is: " << cstr << std::endl;
  return 0;
}

输出:The c-style string is: Hello world!

效率比较

使用string.c_str()函数返回的指针,通常比使用string对象本身进行传递更为高效,因为避免了在每个函数调用中进行拷贝操作。