• C++ String


    初始化string对象的方式

    string s1; s1 空字符串
    string s2("ABC"); 用字符串字面值初始化s2
    string s3(s2); 将s3初始化为s2的一个副本
    string s4(n,'c') 将s4初始化为字符'c'的n个副本

    string的常用操作

    s.empty() 若s为空字符串,则返回true,佛则返回false
    s.size() 返回s中字符的个数
    s[n] 返回s中位置为n的字符,位置从0开始
    s1+s2 将两个字符串连接成一个新的字符串,返回新生成的字符串
    s1=s2 把s1的内容替换为s2的副本
    v1==v2 判定相等,相等返回true,否则返回false
    v1!=v2 判定不等,不等返回true,否则返回false

    字符串拼接时注意的问题:

    string s1 = "hello";

    string s2("world");

    string s3 = s1 + s2;

    string s4 = "hello" + s2;

    string s5 = "hello" + s2 + "world";

    string s6 = "hello" + "world";  (这样的写法是错误的)

    第一种和第二种时两种给字符串初始化的方式;

    第三、四、五种是正确的字符串拼接方式;

    最后一种是错误的字符串拼接方式。

    注意:只有string类型的字符串变量和双引号内的字符串拼接,或者两个string类型的字符串拼接才是合法的,只有两个双引号引起的字符串拼接时不合法的。

    代码演示

    注意:在使用string时要引入相应的头文件 #include<string>

    #include <iostream>
    #include <string>
    using namespace std;
    
    /*********************************************************************
    题目描述:
        1.提示用户输入姓名
        2.接收用户的输入
        3.然后向用户问好,hello xxx
        4.告诉用户名字的长度
        5.告诉用户名字的首字母是什么
        6.如果用户直接输入回车,那么告诉用户的输入为空
        7.如果用户输入的是imooc,那么告诉用户的角色是一个管理员
    
    *********************************************************************/
    
    int main()
    {
        // 定义一个空字符串,用来接收用户输入的信息
        string name;    
        cout<<"请输入您的姓名:";
        cin >> name;
        //getline(cin, name); // getline() 也可以接收传入的name字符串
    
        // 判断字符串是否为空
        if(name.empty())   
        {
            cout<<"您输入的姓名为空"<<endl;
            system("pause");
            return 0;
        }
    
        // 判断用户是不是管理员
        if(name == "imooc")  
        {
            cout<<"你是管理员"<<endl;
        }
        cout << "hello " + name << endl;    // 向用户问好
        cout <<"你名字的长度是:" << name.size() << endl;// 告诉用户名字的长度,name.size()不是字符串,不能用 + 连接
        cout << "你名字的首字母是:" << name[0] << endl; // 告诉用户名字的首字母,name[0]不是字符串,不能用 + 连接
    
        system("pause");
        return 0;
    }
  • 相关阅读:
    iOS sqlite数据库使用
    vsts 自动部署到Azure
    中国区的Azure添加到 VSTS 的 Service Endpoint
    修改vs17中的cordova模板
    升级vs17中的cordova-simulate
    cordova 从xcode7迁移到xcode8
    自杀程序&递归删除目录
    如何升级cordova插件
    在ubuntu on windows 上安装jekyll
    gitphp日期乱码解决方案
  • 原文地址:https://www.cnblogs.com/chuijingjing/p/9247693.html
Copyright © 2020-2023  润新知