您的位置:首页 > 编程语言 > C语言/C++

C++标准库类型——string类型(一)

2010-04-24 21:41 387 查看
标准库string类型

使用前需要包含头文件

#include<string>

using std::string;

string对象的定义和初始化:

--------------------------------------------------------------------------------------

几种初始化string对象的方式

--------------------------------------------------------------------------------------

string s1; 默认构造函数,s1为空串

string s2(s1); 将s2初始化为s1的一个副本

string s3("value"); 将s3初始化为一个字符串字面量

string s4(n, 'c'); 将s4初始化为字符'c'的n个副本

--------------------------------------------------------------------------------------

注:标准库string类型和字符串字面值不是同一种类型!

string对象的读写

可以用标准库iostream对象操作string类型:

string s;

cin >> s;

cout << "you have input " << s << endl;

从标准输入读取string,并将读入的串存储在s中。这个过程做了2件事情:

1.读取并忽略开头所有的空白字符(空格、换行符、制表符)

2.读取字符知道再次遇到空白字符,读取终止

如果需要读取未知数目的string对象

while(cin>>s) //循环一直为true直到到达文件尾或者遇到无效输入

{

cout << "you have input " << s << endl;

}

如果需要读取整行文本,则可以用string IO操作:getline函数

while(getline(cin, s))

{

cout << "have read a line " << s << endl;

}

由于getline函数返回时丢弃换行符,换行符不会存储在string对象中

string对象的操作:

--------------------------------------------------------------------------------------

s.empty(); //if s="", return true, else return false

s.size(); //返回s中字符的个数

s
; //返回s中位置为n的字符,位置从0开始计数

s1+s2; //把s1和s2连接成一个新字符串,返回新生成的字符串

s1=s2; //把s1内容替换为s2的副本

v1==v2; //比较v1和v2的内容,相等则返回true,否则返回false

!=, <, <=, >, >= //保持惯有含义
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: