一、标准库string类型
string对象的常用操作:
1、s.empty() //是否为空串,是返回true
2、s.size(); //返回s中字符的个数,注意类型为string::size_type,而不是int
3、s[n]; 返回s中位置为n的字符,位置从0开始计算
4、s1 + s2; 把s1和s2连接成一个新的字符串,返回新生成的字符串
5、s1 = s2;//字符串替换,即先是否s1的内存,再按s2的大小申请内存,并将数据拷贝过去
6、v1 == v2; 比较v1和v2的内容,相当则返回true
7、!= , < , <=, and >= ;;实践
string对象和字符串字面值的连接。要求:操作数 + 左右必须有一个为string类型。
如:
string s = “hello”;
string s2 = s + “world”;
- #include <string>
- using std::string;
- #include <cctype>
- using std::isupper; //是否为大写字母
- using std::toupper; //转化为大写字母
- using std::islower; //是否为小写
- using std::tolower; // 转化为小写字母
- using std::isalpha; //是否为字母
- using std::isspace; //是否为空格
- using std::isalnum; //是否为字母或者数字
- using std::isdigit; //是否为数字
- using std::ispunct; //是否为标点符号
- #include <iostream>
- using std::cout; using std::endl;
- int main()
- {
- string s("HELLO world!!!");
- string::size_type punct_cnt = 0;
- //s.size()返回的为string::size_type而不是int,一般为unsigned int 或者 unsigned long
- //不像c,string可以直接通过size获取到字符串的长度
- for (string::size_type index = 0; index != s.size(); ++index)
- {
- if (ispunct(s[index]))
- ++punct_cnt;
- }
- //统计标点符号
- cout << punct_cnt << " punctation characters is " << s << endl;
- for (string::size_type index = 0; index != s.size(); ++index)
- {
- s[index] = tolower(s[index]);
- }
- cout << s << endl;
- }
阅读(910) | 评论(0) | 转发(0) |