C++ string笔记

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) 若为小写字母则输出大写字母,否则输出原样
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章