CPP 标准库类型string
标准库类型string表示可变长的字符序列,包含于string头文件,定义在std命名空间中
1.引入
#include<string>
using std::string;
2.初始化方法
string s1 //默认初始化, S1是一个空字符串
string s2(s1) //s2是s1的副本
string s2 = s1 //等价于s2(s1)
string s3("value") // 创建值为value的字符串
string s4(n,'c') //创建一个为n个'c'的字符串
3.string操作
string s;
os << s; //将字符串s写到输出流中,返回os
is >> s; //从is中读取字符串赋给s,字符串以空白分隔,返回os
getline(is,s); //从is中读取一行到s中,返回is
s.empty() //如果s为空字符串,返回true,否则返回false
s.size() //返回s中的字符数
s[n] // 返回s种地n个字符的引用
s1+s2 // 返回s1与s2字符的拼接
s1==s2 //如果字符串所含字符完全一样,返回true,否则返回false
s1!=s2 //结果与 == 相反
<,<=,>,>= //字典序比较,对大小写敏感
string substr (size_t pos = 0, size_t len = npos) const; // 子字符串
string& erase (size_t pos = 0, size_t len = npos); //删除 pos位置,长度为npos个字符
iterator erase (iterator p); // 删除迭代器p处的字符
iterator erase (iterator first, iterator last); // 删除从迭代器first 到 last的 字符
erase例子
// string::erase
#include <iostream>
#include <string>
int main ()
{
std::string str ("This is an example sentence.");
std::cout << str << '\n';
// "This is an example sentence."
str.erase (10,8); // ^^^^^^^^
std::cout << str << '\n';
// "This is an sentence."
str.erase (str.begin()+9); // ^
std::cout << str << '\n';
// "This is a sentence."
str.erase (str.begin()+5, str.end()-9); // ^^^^^
std::cout << str << '\n';
// "This sentence."
return 0;
}
4.cctype头文件处理char
isalnum(c) 判断c是否为字母或数字
isalpha(c) 判断c是否为字母
iscntrl(c) 判断c是否为控制字符
isdigit(c) 判断c是否为数字
isgraph(c) 当c不是空格但可打印时为真
islower(c) 当c是小写字母时为真
isprint(c) 当c为可打印字符时为真
ispunct(c) 当c是标点符号时为真
isspace(c) 当c为空白时为真
isupper(c) 当c为大写字母时为真
isxdigit(c) 但c为16进制数字时为真
tolower(c) 若为大写字母则输出小写字母,否则输出原样
toupper(c) 若为小写字母则输出大写字母,否则输出原样