代码改变世界

白话C++系列(7)-- string类型及其初始化方法

2016-04-11 21:04  Keiven_LY  阅读(31259)  评论(1编辑  收藏  举报

初始字符串类型

思考如下一个问题:我们平时在编码过程中,适用频繁而操作又比较繁琐的数据都有哪些呢?

对于基本数据类型(int、char、float、double、bool),我们虽用的比较频繁,但操作起来还是比较方便的,基本令人满意。只有char数组,也就是通常所说的字符串,我们平时用的比较频繁,但操作上却缺乏一种简单有效的手段,往往只能用一系列的函数来应付,如strlen、strcat、strcmp、strcpy、strncmp、strncpy等,用得多了就觉得特别麻烦,有时会令人抓狂。为了解决这样的麻烦,C++引入了string类型,有了它,至此,程序世界便多了一抹亮色。

string类型

先来看一个例子

在这个例子中,我们可以轻松的定义一个字符串类型的名字和兴趣爱好,也可以很容易的输出某个人的兴趣爱好。

但要注意,在使用string类型时,一定要包含string的头文件,而且该头文件也是在std的命名空间下的。

初始化string对象的方式

string的常用操作

代码实践

题目描述:

1 提示用户输入姓名

2 接收用户的输入

3 然后向用户问好,hello xxxx

4 告诉用户名字的长度

5 告诉用户名字的首字母是什么

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

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

#include<iostream>
#include<stdlib.h>
#include<string>
using namespace std;
int main()
{
    string name;
    cout<<"please input your name: ";
    getline(cin, name);
    if(name.empty())
    {
        cout<<"input is null..."<<endl;
        system("pause");
        return 0;
    }
    if(name == "imooc")
    {
        cout<<"You are a  administartor"<<endl;
    }
    cout<<"hello " + name <<endl;
    cout<<"Your name's length is:"<<name.size() <<endl;
    cout<<"Your name's first letter is: "<< name[0] <<endl;

    system("pause");
    return 0;
}

运行结果: