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) 若为小写字母则输出大写字母,否则输出原样
发布了170 篇原创文章 · 获赞 69 · 访问量 29万+

猜你喜欢

转载自blog.csdn.net/qq951127336/article/details/89100381