首页 > 编程语言 > 详细

C++ STL string 基本用法

时间:2015-09-09 21:15:50      阅读:273      评论:0      收藏:0      [点我收藏+]

一、 初始化

    string s1="i love you";
    string s2(s1);  //把s2初始化为s1的一个副本,注意不能写成string s2; s2(s1);
    string s3("value");  //将s3初始化一个字符串面值副本
    string s4(6,s);   //将s4初始化为字符‘s‘的10个副本
    /*注意字符串面值与标准库string不是同一个类型*/
    cout<<s1<<endl;
    cout<<s2<<endl;
    cout<<s3<<endl;
    cout<<s4<<endl;

结果

技术分享

二、输入

    string s6;
    getline(cin,s6);//输入带有空格的字符串,测试“ hello world ”
    cout<<s6<<endl;
  cout<<"------------------------------"<<endl;
string s5; cin>>s5;//输入不带空格的字符串 “ hello world ”测试,发现只读取有效字符到遇到空格结束 cout<<s5<<endl; //故意把s5和s6倒过来,如果先用cin输入s5,再用getline(cin,s6)会有问题。

结果

技术分享

 三、访问字符

    cout<<s1.at(13)<<endl;//at函数提供范围检查,当越界时会抛出out_of_range异常,
    cout<<s1[13]<<endl;//下标运算符[]不提供检查访问。

四、特性描述

1.判断是否为空

s1.empty()

2.长度

  string s1="12345678";
  cout
<<s1.length()<<endl;//.length()和.size()没区别,用哪个都行
  cout<<s1.size()<<endl;//size()代表它是个容器,length()体现它是字符串

3.重新定义它的长度(多去少补)

    string s1="12345678";
    cout<<s1<<endl;
    cout<<s1.size()<<endl;//.length()和.size()没区别,用哪个都行
    s1.resize(4);//多去
    cout<<s1<<endl;
    cout<<s1.size()<<endl;
    s1.resize(6,x);//少补,不写第二个参数也可以
    cout<<s1<<endl;
    cout<<s1.size()<<endl;

 

C++ STL string 基本用法

原文:http://www.cnblogs.com/wmxl/p/4795837.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!