C++ Primer学习笔记- 第三章:标准库类型之一
2014-09-04 10:13
176 查看
一、 标准库string类型
1.包含的头文件 #include<string>
2.string对象的定义和初始化
1)string s1; //默认构造函数,s1为空串
2)string s2(s1);//将s2初始化为s1的一个副本,调用string的复制构造函数
3)string s3("value");//将s3初始化为一个字符串字面值副本,复制构造函数
4)string s4(n,'c');//将s4初始化为字符‘c'的n个副本
3.string对象的读取
cin>>s;输入“空格空格hello空格world!空格空格".cout<<s时,只打印出hello
从标准输入读取string时,忽略开头所有空白字符(空格、换行符、制表符),读取字符直到再次遇到空白符读取终止
4.string对象的操作
s.empty();
s.size();//返回string::size_type类型,建议不要把返回值赋给int
s
;//第n个字符
s1+s2;s1和s2连接,但是当两个字符串字面值连接时,是错误的,例如string s=”abc“+"def";//err
s1=s2;
s1==s2 //两个对象相等,是指它们的长度相同且含有的字符相同
!=,<,>,<=,>=
string s1("abc");
string s2("abc\n");
cout<<s1.size()<<endl;//3
cout<<s2.size()<<endl;//4
5.string下标操作
1)读取字符
string str("abcdef");
for(string::size_type index=0;index!=str.size();++index)
cout<<str[index]<<endl;
2)下标操作作左值
未完待续。。。
1.包含的头文件 #include<string>
2.string对象的定义和初始化
1)string s1; //默认构造函数,s1为空串
2)string s2(s1);//将s2初始化为s1的一个副本,调用string的复制构造函数
3)string s3("value");//将s3初始化为一个字符串字面值副本,复制构造函数
4)string s4(n,'c');//将s4初始化为字符‘c'的n个副本
3.string对象的读取
cin>>s;输入“空格空格hello空格world!空格空格".cout<<s时,只打印出hello
从标准输入读取string时,忽略开头所有空白字符(空格、换行符、制表符),读取字符直到再次遇到空白符读取终止
4.string对象的操作
s.empty();
s.size();//返回string::size_type类型,建议不要把返回值赋给int
s
;//第n个字符
s1+s2;s1和s2连接,但是当两个字符串字面值连接时,是错误的,例如string s=”abc“+"def";//err
s1=s2;
s1==s2 //两个对象相等,是指它们的长度相同且含有的字符相同
!=,<,>,<=,>=
string s1("abc");
string s2("abc\n");
cout<<s1.size()<<endl;//3
cout<<s2.size()<<endl;//4
5.string下标操作
1)读取字符
string str("abcdef");
for(string::size_type index=0;index!=str.size();++index)
cout<<str[index]<<endl;
2)下标操作作左值
string str("abcdef"); for(string::size_type index=0;index!=str.size();++index) <span style="white-space:pre"> </span>str[index]='*';//将字符串"abcdef"全部替换成'*'
#include <iostream> #include <cstdio> #include <string> using namespace std; int main() { string s = "abc"; cout << s << endl; cin >> s; cout << s << endl; string line; while (getline(cin, line)) { if (line.empty()) break; cout << line << endl; } string::size_type len = s.size(); cout << len << endl; s[0] = toupper(s[0]); cout << s << endl; string s1; cout << s1[0] << endl; /* string str = "hello" + "world"; */ //error: two string literals addition is invalid return 0; }
未完待续。。。
相关文章推荐
- 【C++ Primer】【学习笔记】【第三章】标准库类型之:string类型
- 【C++ Primer】【学习笔记】【第三章】标准库类型之:bitset类型
- C++ Primer学习笔记- 第三章:标准库类型之二
- C++ Primer学习笔记- 第三章:标准库类型之四
- 【C++ Primer】【学习笔记】【第三章】标准库类型之:vector类型
- C++ Primer学习笔记- 第三章:标准库类型之三
- C++ Primer 学习笔记——第3章:标准库类型 string
- C++ Primer 第三章 标准库类型 笔记
- C++ Primer 学习笔记_6_标准库类型 -- 命名空间using与string类型
- C++ Primer复习和学习笔记 第三章 标准库类型
- 【C++ Primer学习笔记】第3章:标准库类型
- 《c++ primer》第三章标准库类型学习笔记整理_2010/11/06
- C++ Primer 学习笔记_8_标准库类型(续2) -- iterator
- C++ primer (5th) 随想与学习笔记 4 基本类型很全面 新标准更灵活
- C++Primer 学习笔记 第三章(标准库类型)
- C++ Primer 学习笔记_9_标准库类型(续3) -- biteset
- C++ Primer 第三章 标准库类型 笔记
- 【C++ Primer学习笔记】第3章:标准库类型
- 【C++ Primer学习笔记】第3章:标准库类型
- C++ Primer 学习笔记_7_标准库类型(续1) -- vector类型