初识String

来源:互联网 发布:淘宝宝贝详情批量删除 编辑:程序博客网 时间:2024/06/01 19:44

初识String

迄今为止,我接触C语言和C++也有一段时间了,在这段时间里经过编码实践,感觉使用频率较高但操作起来比较复杂和繁琐的数据类型就是char型数组,也就是字符串啦,它用的比较频繁但操作却缺乏一种简单有效的手段,往往需要使用一系列的函数来应付。比如strlen、strcat、strcpy、strcmp、strncpy、strncmp、strstr。当这些函数用的多了之后简直就令人抓狂。~~~~(>_<)~~~~


 
那么有没有一种既方便又高效的字符串类型呢?
今天我就来总结一下——字符串类型:String

先来看一段代码:

#include <iostream>using namespace std;#include <string>//使用string 时要包含头文件int main(){    string name="Zhang si";   //可以直接定义    string hobby("football");    cout<<name<<hobby<<endl;  //可以通过out直接输出,非常方便    return 0;}<span style="color:#000099;"></span>

感受到string的方便了吧!

(一) string的初始化方式


当然了String的便捷不仅体现在它的初始化方面,更多的是它提供了一整套的人性化的服务,下面我就一一介绍。

(二)string的常用操作

        

         注:S为已经定义出来的一个string变量。我们可以通过——s.——的方式访问string中的一些成员函数。



有了这个,我们在使用的过程中就不用调用大量函数了,而是使用了一些非常方便的操作符和一些成员函数。

这里要着重说一下字符串的连接即图中的 s1+s2;

看一下下面的几个小例子:

string s1 = " hello ";   //定义合法

string s2 ("world");   //定义合法

string s3 = s1 + s2;   //s3是由s1s2连接起来的,s3当中是 hello world 合法

string s4 = "hello" + s2;   //双引号的内容和string对象连接也是合法的

string s5 = "hello" + s2 + "world"; //双引号和一个string对象再加一个双引号内容也是合法的

string s6= "hello" + "world"; //错误!!!!!只有当string对象和双引号连接才是合法的!!!

(三)例子演示:

#include <iostream>using namespace std;#include <string>/*------------------------------------------------*//*题目描述:        1、提示用户输入姓名        2、接收用户的输入        3、然后向用户问好,hello XXX。        4、告诉用户名字的长度        5、告诉用户名字的首字母        6、如果用户直接输入回车,那么告诉用户的输入为空        7、如果用户输入CSDN,那么告诉用户的角色是一个管理员*//*------------------------------------------------*/int main(){    string name; //定义一个空串    cout<< " Please input your name: ";  //提示用户输入姓名    getline(cin,name);    //这里的输入不能简单的使用cin,因为我们这里要判断它的输入是否为空,所以我们用一个函数getline(cin,name);    //如果用户输入的是一个回车,那么它会给name一个空串;    if(name.empty()) //通过调用empty函数,判断name是否为空    {        cout<<" Input is null."<<endl; //如果为空,告诉用户输入为空        return 0;    }    if(name=="CSDN") //如果输入CSDN告诉用户的角色是一个管理员    {        cout<<" You are a administrator."<<endl;    }    cout<<" hello " + name <<endl;  //告诉用户的角色是一个管理员    cout<< " You name length: "<<name.size()<<endl;  //通过size函数得到字符长度    cout<< " You name first letter is: "<<name[0]<<endl; //name[0]得到首字母   return 0;}

(四)功能实现:

         1、     提示用户输入姓名

           接收用户的输入

           然后向用户问好,hello XXX。

           告诉用户名字的长度

           告诉用户名字的首字母

 



2、如果用户直接输入回车,那么告诉用户的输入为空



3、如果用户输入CSDN,那么告诉用户的角色是一个管理员



1 0
原创粉丝点击