C++字符串手册

1.C风格字符串与C++String类型


在C++中,有两种字符串的表示形式:

  • C风格字符串
  • C++String类型

C风格字符串

C风格字符串起源于C语言,并在C++中继续沿用。字符串实际上是使用null字符\0终止的一维字符数组。因此,一个以null结尾的字符串,包含了组成字符串的字符。
例:创建一个C风格字符串

char str[6]={'H','e','l','l','o','\0'};

你也可以这样来创建一个相同的字符串:

char str[]="Hello";

这样做可能会更加简洁。

C++String类型

C++标准库提供了 string 类类型,支持上述所有的操作,另外还增加了其它更多的功能。
例(来自菜鸟教程):

#include<iostream>
#include<string>
using namespace std;
int main ()
{
   string str1 = "runoob";
   string str2 = "google";
   string str3;
   int len ;
   // 复制 str1 到 str3
   str3 = str1;
   cout << "str3 : " << str3 << endl;
   // 连接 str1 和 str2
   str3 = str1 + str2;
   cout << "str1 + str2 : " << str3 << endl;
   // 连接后,str3 的总长度
   len = str3.size();
   cout << "str3.size() :  " << len << endl;
   return 0;
}

输出:

str3 : runoob
str1 + str2 : runoobgoogle
str3.size() :  12

2.C++String有关函数


  • strcpy(s1,s2);
    复制字符串 s2 到字符串 s1。
  • strcat(s1,s2);
    连接字符串 s2 到字符串 s1 的末尾。C++中也可以使用"+"连接。
  • strlen(s1);
    返回字符串 s1 的长度。
  • strcmp(s1,s2);
    如果 s1 和 s2 是相同的,则返回0;如果 s1<s2 则返回值小于0;如果 s1>s2 则返回值大于0。
  • strchr(s1,ch);
    返回一个指针,指向字符串 s1 中字符 ch 的第一次出现的位置。
  • strstr(s1,s2);
    返回一个指针,指向字符串 s1 中字符串 s2 的第一次出现的位置。

  • str.substr()
  • str.replace()
  • str.insert()
  • str.push_back()
  • str.append()
  • str.erase()
  • str.swap()
  • str.length()
  • str.size()
  • str.empty()
  • str.at()

3.C++String与其他类型互转


其他类型转String

C++11新增了一个函数:to_string()。使用这个函数,我们可以快捷地转换其它类型为String。
使用方法:

#include<string>

导入<string>头文件即可。
实例:

a=1024;
string b=to_string(a);

String转int类型

使用函数atoi(),记得需要导入C的头文件<stdlib.h>
实例:

a="1024";
b=atoi(a);
posted @ 2022-02-02 22:46  himekawa  阅读(42)  评论(0编辑  收藏  举报