zoukankan      html  css  js  c++  java
  • 【原创】一起学C++ 之 字符串 ---------C++ primer plus(第6版)

    C++ Primer Plus 第6版

    字符串:是存储在内存的连续字节中的一系列字符


    C++处理字符串的方式有2种:

    一、来自C语言、常被称为C-风格字符串(C-Style-string)

      1)从字符数组--》字符串

      存储在连续字节中的一系列字符意味着可以讲字符串存储在char数组中,其中每个字符都位于自己的数组元素中。

      C-style字符串具有一种特殊的性质:以空字符结尾,空字符被写为''

    char dog[8]={'b','e','a','u','t',' ','i','i'};   //不是一个字符串,仅仅是一个char数组!!!
    char cat[8]={'b','e','a','u','t','a','i',''};  //是一个字符串,且为一个char数组

      将字符数组初始化为字符串的方法(这种字符串被称为字符串常量字符串字面值):

    char bird[11]="Mr.  Cheeps";
    char fish="Bubbles";

      用双引号括起的字符串隐式地包括空字符(''),因此不用显示的包括它。

      2)从字符串--》字符数组

      将字符串读入到char数组中,将自动加上结尾的空字符('')

      

      3)字符串常量与字符常量不能互换

      字符常量(‘S’)是字符串编码的简写表示,在ASCII系统上,‘S’是83的另一种写法,因此下面是将83赋值给shirt_size;

    char  shirt_size='s';

      "S"不是字符常量,它表示的是俩个字符(字符S和)组成的字符串。

      “S”实际上表示的是字符串所在的内存地址。

    char  shirt_size="s"; //将一个内存地址给   shirt_size

      4)注意cout 当读取到''就结束继续读取,直接结束

    #include <iostream>        
    #include <cstring>
    int main()
    {
       using namespace std;
        int a;
        const int Size=15;
        char name1[Size];             //empty array
        char name2[Size]="C++owboy"; //initialized array
        cout<<"Howdy! i'm "<<name2;
        cout<<"I what's your name?
    ";
        cin>>name1;
        cout<<"Well, "<<name1<<" , you name has";
        cout<<strlen(name1)<<"letters and is stored
    ";
        cout<<"in an array of "<<sizeof(name1)<<" bytes. 
    ";
        cout<<"you inital is "<<name1[0]<<".
    ";
        name2[3]='';
        cout<<"Here are the first 3 characters of my name :"<<name2<<endl;
        cin>>a;
        return 0;    
    }

    二、string类库的方法

  • 相关阅读:
    网易2019校招C++研发工程师笔试编程题
    牛客网 数串
    ps aux 状态介绍
    阿里在线测评解析
    Ubuntu 18.04安装 Sublime
    file '/grub/i386-pc/normal.mod' not found.解决方案
    解决Windows10与Ubuntu系统时间不一致问题
    进程与线程的区别
    大端模式和小端模式
    2016湖南省赛----G
  • 原文地址:https://www.cnblogs.com/holyson/p/3951839.html
Copyright © 2011-2022 走看看