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);