C++标准库string类型
2014-08-19 14:57
218 查看
string类型支持长度可变的字符串,C++标准库将负责管理与存储与字符串相关的类容,以及提供各种有用的操作。标准库string类型的目的就是满足对字符串的一般应用。
包含头文件
#include<string>
string s2(s1); 将s2初始化为s1的一个副本
string s3("value") 将s3初始化为一个字符串字面值副本
string s4(n,'c') 将s4初始化为字符'c'的n个副本
读
cin>>s;
注意:读取忽略开头的所有空白字符(如空格,换行符,制表符)
读取字符直至再次遇到空白字符,读取终止。
如:输入"Hello World!",实际上读取到了"Hello"。
3.string对象的操作
s.empty() 如果s为空串,则返回true,否则返回false
s.size() 返回s中的字符个数
s
返回s中位置为n的字符,位置从0开始计数
s1+s2 把s1和s2连接成一个新的字符串,返回新生成的字符串
s1=s2 把s1的内容替换成s2的副本
s1==s2 比较s1和s2的内容,相等返回true,否则返回false
!=,<,<=,>,>= 保持这些操作符贯有的含义
注意:
1.s.size()返回的类型是string::size_type。
2.比较string实际上是比较string的字符。
3.string对象相加,可以是string对象与string对象相加,string对象与字符串字面值相加,不允许字符串字面值相与字符串字面值相加。
"Hello"+" World" //error
其中的函数的解释如下
可打印的字符是指那些可以显示表示的字符。空白字符则是空格,制表符,垂直制表符,回车符,换行符和进纸符中的任一种;标点符号就是除了数字,字母或(可打印的)空白字符(如空格)以外的其他可打印字符。
下面的程序是将"Hello World!"字符串变为小写的Demo:
包含头文件
#include<string>
1.string对象的定义与初始化
string s1; 默认构造函数string s2(s1); 将s2初始化为s1的一个副本
string s3("value") 将s3初始化为一个字符串字面值副本
string s4(n,'c') 将s4初始化为字符'c'的n个副本
2.string对象的读写
写cout<<s<<endl;
读
cin>>s;
注意:读取忽略开头的所有空白字符(如空格,换行符,制表符)
读取字符直至再次遇到空白字符,读取终止。
如:输入"Hello World!",实际上读取到了"Hello"。
3.string对象的操作
s.empty() 如果s为空串,则返回true,否则返回false
s.size() 返回s中的字符个数
s
返回s中位置为n的字符,位置从0开始计数
s1+s2 把s1和s2连接成一个新的字符串,返回新生成的字符串
s1=s2 把s1的内容替换成s2的副本
s1==s2 比较s1和s2的内容,相等返回true,否则返回false
!=,<,<=,>,>= 保持这些操作符贯有的含义
注意:
1.s.size()返回的类型是string::size_type。
2.比较string实际上是比较string的字符。
3.string对象相加,可以是string对象与string对象相加,string对象与字符串字面值相加,不允许字符串字面值相与字符串字面值相加。
"Hello"+" World" //error
4.字符串对象中的字符处理
我们经常要对string对象中的单个字符进行处理,例如,通常要知道某个特殊字符是否为空白字符,字母或数字。在cctype头文件中定义了对string的操作。其中的函数的解释如下
isalnum(c) 如果c是数字或者字母,则为true isalpha(c) 如果c是字母,则为true iscntrl(c) 如果c是控制字符,则为true isdigit(c) 如果c是数字,则为true isgraph(c) 如果c不是空格,但可打印,则为true islower(c) 如果c是小写字母,则为true isprint(c) 如果c是可以打印的字符,这位true ispunct(c) 如果c是标点符号,则为true isspace(c) 如果c是空白字符,则为true isupper(c) 如果c是大写字母,则为true isxdigit(c) 如果c是十六进制数,则为true tolower(c) 如果c是大写字母与,则返回其小写字母形式,否则直接返回c toupper(c) 如果c是小写字母,则返回其大写字母形式,否则直接返回c大部分函数式测试一个给定的字符是否符合条件,并返回一个int值作为真值。如果测试失败则返回0,否则返回一个无意义的非0值,表示被测试的字符符合条件。
可打印的字符是指那些可以显示表示的字符。空白字符则是空格,制表符,垂直制表符,回车符,换行符和进纸符中的任一种;标点符号就是除了数字,字母或(可打印的)空白字符(如空格)以外的其他可打印字符。
下面的程序是将"Hello World!"字符串变为小写的Demo:
#include <iostream> #include <string> #include <cctype> using namespace std; int main() { string s1="Hello World!"; for(string::size_type i=0;i!=s1.size();i++) { s1[i]=tolower(s1[i]); } cout<<s1<<endl; return 0; }
相关文章推荐
- C++标准库string类型操作总结
- C++标准库string类型
- C++标准库的string类型与C 风格的字符串的相互转换
- C++标准库的string类型与C 风格的字符串的相互转换
- C++标准库string类型
- C++标准库string类型的操作总结
- C++标准库string类型
- C++标准库string类型
- C++标准库string类型的操作总结
- C++标准库中string类型与数值类型之间的转换
- C++标准库类型——string类型(一)
- C++标准库类型——string
- C++标准库类型string用法小结
- C++标准库string类型
- C++标准库类型string
- 浅谈C++标准库类型string
- C++ Primer学习笔记2--c++标准库中的 vector、string 和 bitset 类型
- C++标准库string类型
- C++标准库类型string
- <细节>C++标准库string类型