一、string
string 是 C++ 提供的字符串类型,和 C 的字串相比,除了有不限长度的优点外,还有其他许多方便的功能。要使用 string, 必须先加入这一行:
#include <string>
using namespace std;
接下來要定义一个字串变量,可以写成:
string s;
我们也可以在定义的同时初始化字串:
string s = "you";
而要取得其中某一个字元,和传统C 的字串一样是用 s[i] 的方式取得。比较不一样的是如果 s 有三个字元,传統 C 的字串的 s[3] 是'\0' 字符,但是 C++ 的 string 则是只到 s[2] 这个字符而已。
做一个对照:
操作 | string | 字符数组 |
定义字符串 | string s; | char s[100]; |
取得第i个字符 | s[i] | s[i] |
字符串长度 | s.length() 或 s.size() |
strlen(s) |
读入一行 | getline(cin, s); | gets(s); |
赋值 | s = "you"; | strcpy(s, "you"); |
字符串连接 | s = s + "you"; s += "you"; |
strcat(s, "you"); |
字符串比较 | s == "you" | strcmp(s, "you"); |
两个string常用的方法是find和substr。在下面的代码当中:find函数从str的第3个位置查起,找到ssdf这个子串后,返回子串的位置。而substr函数从pos位置开始,截取5个字符,赋值给str2。也就是说,str2之后的内容将是ssdfs。