本文直接转载,非原创!仅记录供自己学习之用。
出处:http://blog.csdn.net/y990041769/article/details/8763366
在学习c++STL中的string,在这里做个笔记,以供自己以后翻阅和初学者参考。
1:string对象的定义和初始化以及读写
string s1; 默认构造函数,s1为空串
string s2(s1); 将s2初始化为s1的一个副本
string s3("valuee"); 将s3初始化一个字符串面值副本
string s4(n,'c'); 将s4 初始化为字符'c'的n个副本
cin>>s5; 读取有效字符到遇到空格
getline(cin,s6); 读取字符到遇到换行,空格可读入,知道‘\n’结束(练习在下一个代码中),
getline(cin,s7,'a'); 一个直到‘a’结束,其中任何字符包括'\n'都能够读入,可以试试题:UVa10361
下面看一个巩固练习:
1 #include <iostream> 2 #include <string> 3 using namespace std; 4 int main() 5 { 6 string s1; 7 s1="i love you"; 8 string s2(s1); //把s2初始化为s1的一个副本,注意写法,不能前面先定义s2的类型后面直接写,也不能定义两次s2 9 string s3("value"); //将s3初始化一个字符串面值副本 10 string s4(10,'s'); //将s4初始化为字符‘s'的10个副本 11 /*注意字符串面值与标准库string不是同一个类型*/ 12 cout<<s2<<" "<<s3<<" "<<s4<<endl; 13 string s5; 14 while(cin>>s5) //这里可以输入“ hello world ”测试,发现只读取有效字符到遇到空格结束 15 { 16 cout<<s5<<endl; 17 } 18 return 0; 19 }