码迷,mamicode.com
首页 > 其他好文 > 详细

标准库string类型

时间:2014-05-05 23:17:12      阅读:352      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   class   code   java   

string类型支持长度可变的字符串,C++标准库将负责管理与存储字符相关的内存,以及提供各种有用的操作。标准库string类型的目的就是满足对字符串的一般应用。

 本文地址:http://www.cnblogs.com/archimedes/p/cpp-string.html,转载请注明源地址。

引入头文件#include<string>

1、string对象的定义和初始化

string标准库支持几个构造函数,构造函数是一个特殊成员函数

一下是几种初试化string对象的方式

bubuko.com,布布扣
string s1;   //默认构造函数,s1为空串
string s2(s1);   //将s2初始化为s1的副本
string s3("value");   //将s3初始化为一个字符串字面值副本
string s4(n,c);    //将s4初始化字符‘c‘的n个副本
bubuko.com,布布扣

2、string对象的读写

使用标准输入输出操作符来读写string对象:

bubuko.com,布布扣
#include<iostream>
#include<string>
using namespace std;
int main()
{
    string s;
    cin>>s;
    cout<<s<<endl;
    return 0;
}
bubuko.com,布布扣

string类型的输入输出操作符:

  • 读取并忽略开头所有的空白字符(如空格、换行符、制表符等)
  • 读取字符直至再次遇到空白字符,读取终止

我们可以把多个读操作或多个写操作放在一起:

bubuko.com,布布扣
string s1,s2;
cin>>s1>>s2;
cout<<s1<<s2<<endl;
bubuko.com,布布扣

(1)读入未知数目的的string对象

string的输入输出操作符也会返回所读的数据流,可以把输入操作作为判断条件:

bubuko.com,布布扣
int main()
{
    string word;
    while(cin>>word)
        cout<<word<<endl;
    return 0;
}
bubuko.com,布布扣

(2)、使用getline读取整行文本

string IO操作:getline,这个函数接受两个参数:一个输入流对象和一个string对象。getline函数从输入流的下一行读取,并保存读取内容到string中,但不包括换行符。getline并不忽略换行符,遇到换行符,即便它是输入的第一个字符,getline也将停止读入并返回,这时string参数将被置为空string

bubuko.com,布布扣
int main()
{
    string line;
    while(getline(cin,line))
        cout<<line<<endl;
    return 0;
}
bubuko.com,布布扣

3、string对象的操作

bubuko.com,布布扣

(1)string的size和empty操作

了解string对象是否为空是有用的:

bubuko.com,布布扣
string st("test");
if(st.size()==0) 
//or
if(st.empty())
bubuko.com,布布扣

(2)string::size_type类型

size()成员函数返回的是string::size_type类型的值,一种unsigned型,事实表明size_type存储的string长度是int所能存储的两倍

4、string对象的赋值

可以把一个string对象赋值给另一个string对象:

bubuko.com,布布扣
string s1,s2="test";
s1=s2;
bubuko.com,布布扣

先将s1占用的相关内存释放,分配给s1足够存放s2副本的内存空间,最后把s2中所有字符复制到新分配的内存空间

5、两个string对象相加

两个或多个string对象可以通过使用+或者+=连接起来

bubuko.com,布布扣
string s1("hello, ");
string s2("word\n");
string s3=s1+s2;
//or
s1+=s2;
bubuko.com,布布扣

6、和字符串字面值的连接

bubuko.com,布布扣
string s1("hello");
string s2("world");
string s3=s1+", "+s2+"\n";
bubuko.com,布布扣

7、从string对象获取字符

string类型通过下标操作符([])来访问string对象中的单个字符

 

 

标准库string类型,布布扣,bubuko.com

标准库string类型

标签:des   style   blog   class   code   java   

原文地址:http://www.cnblogs.com/archimedes/p/cpp-string.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!