【C++学习笔记】string类处理字符串的一些特点
2017-05-02 23:47
471 查看
一、声明
string是一种类,包含数据和类函数。数据是字符数组。
声明string对象的时候不需要指定数组的长度,直接写名字即可
格式
string 对象名;
二、初始化
string类支持用大括号或双引号进行初始化
string str1 = {'a','b','c','d'};
string str2 = "Hello world!";
三、将输入的字符串存入
格式
cin>>str1;
经测试已确认:
1、遇到空格或者回车,字符串读入结束,回车和空格不在最终结果中,不知道是存入后被换成'\0',还是压根就没读进去,直接在结尾后加'\0'。
2、缓冲区的回车或空格没有了,也就是说,如果连续使用cin获取字符串,不需要处理掉上一个字符串结束时留下的回车,连续cin即可。
要想将空格读入字符串,可采用下面的方法
getline(cin,str);
第一个参数表示在输入流中寻找输入字符串的内容,第二个参数表示将字符串存入的目的地。
四、字符串连接和赋值
string类连接和赋值的方法比较奇特
连接:
str3 = str1 + str2;
直接在str1末尾去掉'\0',然后把str2接上,中间没有空格和换行。
上面一个例子可以发现,string类可以直接用等号赋值,而字符串和数组是不可以直接用名字来赋值的。
格式
str2 = str1;
str1覆盖str2的内容,长度也变成str1的长度。
五、string类对象的输出
支持下列格式
cout<<str1;
cout<<str1<<str2;//str1和str2之间不会添加空格和回车
cout<<(str1 + str2);
六、string类中的一个类函数——size()
类中包含类函数。
调用类函数的方法:对象名.函数名()
size类函数用于返回字符串的长度
例:获取str1的长度
int a = str1.size(); //将str1的长度(元素个数)赋值给a
也可以对连接后的字符串使用,获得连接后字符串的长度
(str1 + str2 ).size();
我理解是str1 + str2的记过还是string类对象,这句话等效于
string str3 = str1 + str2;
str3.size();
string是一种类,包含数据和类函数。数据是字符数组。
声明string对象的时候不需要指定数组的长度,直接写名字即可
格式
string 对象名;
二、初始化
string类支持用大括号或双引号进行初始化
string str1 = {'a','b','c','d'};
string str2 = "Hello world!";
三、将输入的字符串存入
格式
cin>>str1;
经测试已确认:
1、遇到空格或者回车,字符串读入结束,回车和空格不在最终结果中,不知道是存入后被换成'\0',还是压根就没读进去,直接在结尾后加'\0'。
2、缓冲区的回车或空格没有了,也就是说,如果连续使用cin获取字符串,不需要处理掉上一个字符串结束时留下的回车,连续cin即可。
要想将空格读入字符串,可采用下面的方法
getline(cin,str);
第一个参数表示在输入流中寻找输入字符串的内容,第二个参数表示将字符串存入的目的地。
四、字符串连接和赋值
string类连接和赋值的方法比较奇特
连接:
str3 = str1 + str2;
直接在str1末尾去掉'\0',然后把str2接上,中间没有空格和换行。
上面一个例子可以发现,string类可以直接用等号赋值,而字符串和数组是不可以直接用名字来赋值的。
格式
str2 = str1;
str1覆盖str2的内容,长度也变成str1的长度。
五、string类对象的输出
支持下列格式
cout<<str1;
cout<<str1<<str2;//str1和str2之间不会添加空格和回车
cout<<(str1 + str2);
六、string类中的一个类函数——size()
类中包含类函数。
调用类函数的方法:对象名.函数名()
size类函数用于返回字符串的长度
例:获取str1的长度
int a = str1.size(); //将str1的长度(元素个数)赋值给a
也可以对连接后的字符串使用,获得连接后字符串的长度
(str1 + str2 ).size();
我理解是str1 + str2的记过还是string类对象,这句话等效于
string str3 = str1 + str2;
str3.size();
相关文章推荐
- C++学习笔记9:字符串和string类简介
- C/C++学习笔记29:字符串处理函数
- 黑马程序员--学习笔记--String类与字符串处理技术
- C++ Primer Plus 学习笔记 第五章 01 for循环 递增运算符和递减运算符 复合语句,逗号运算符 C风格字符串比较、string类字符串比较
- C++字符串处理函数学习笔记
- C++中String类的截取字符串学习笔记
- C++学习的一些笔记-->2:防止头文件多次导入造成重复编译的方法
- 学习php笔记 字符串处理
- C++基础教程 学习笔记(二) 数组、字符串和指针
- 学习php笔记 字符串处理
- 用思维导图和实例学习C++之一——字符串处理
- C/C++学习笔记3 - cin深入分析(下) - cin的错误处理(原创)
- C#学习笔记-字符串处理
- BDA驱动学习笔记(6):错误处理,内存管理以及字符串
- c++ 学习笔记-----头文件预处理
- C++学习的一些笔记-->1:C++ iostream和iostream.h的区别
- C/C++学习笔记:指针与字符串
- ABAP学习笔记--处理字符串
- c++指针学习笔记--交换两个字符串数据收藏
- WINDOWS核心编程学习笔记--字符串处理