zoukankan      html  css  js  c++  java
  • 第 33课 C++中的字符串(上)

    历史的遗留问题
    在C语言中没有真正意义上的字符串,为了表达字符串这个概念利用字符数组来模拟字符串
    C语言不支持真正意义上的字符串 (C++也不支持
    C语言用字符数组一组函数实现字符串操作 (C++中同样支持)
    C语言不支持自定义类型,因此无法获得字符串类型。(C++中支持自定义类型)
    解决方案:
    从C到C++的进化过程引入了自定义类型
    在C++中可以通过类完成字符串类型的定义
    问题:
    C++中的原生类型系统是否包含字符串类型?

    标准库中的字符串类
    C++语言直接支持C语言的所有概念
    C++语言中没有原生的字符串类型

    C++标准库提供了string类型
    -string直接支持字符串连接(通过重载+这个操作符)
    -string直接支持字符串的大小比较 (通过重载大小操作符实现)
    -string直接支持子串查找和提取
    -string直接支持字符串的插入和替换

    字符串类的使用

    #include <iostream>
    #include <string>
    
    using namespace std;
    
    void string_sort(string a[], int len)
    {
        for(int i=0; i<len; i++)
        {
            for(int j=i; j<len; j++)
            {
                if( a[i] > a[j] )
                {
                    swap(a[i], a[j]);
                }
            }
        }
    }
    
    string string_add(string a[], int len)
    {
        string ret = "";
    
        for(int i=0; i<len; i++)
        {
            ret += a[i] + "; ";
        }
    
        return ret;
    }
    
    int main()
    {
        string sa[7] =
        {
            "Hello World",
            "D.T.Software",
            "C#",
            "Java",
            "C++",
            "Python",
            "TypeScript"
        };
    
        string_sort(sa, 7);
    
        for(int i=0; i<7; i++)
        {
            cout << sa[i] << endl;
        }
    
        cout << endl;
    
        cout << string_add(sa, 7) << endl;
    
        return 0;
    }
  • 相关阅读:
    链家新房爬虫
    豆瓣电影爬虫
    电影天堂爬虫
    数组、数组和集合的区别
    Profile小试
    SQL中的case when使用小例
    使用AVAudioPlayer播放网络音乐
    播放器
    全排列问题
    由while(scanf("%d",&n)!=EOF)引出的小问题
  • 原文地址:https://www.cnblogs.com/-glb/p/11914513.html
Copyright © 2011-2022 走看看