字符串及字符串数组

,string并不是C++语言本身具有的基本类型,它是在C++标准库中声明的一个字符串类,用这种类可以定义对象。每一个字符串变量都是string类的一个对象。

1. 定义字符串变量
和其他类型变量一样,字符串变量必须先定义后使用,定义字符串变量要用类名string。如
string string1; //定义string1为字符串变量
string string2=″China″; //定义string2同时对其初始化
应当注意: 要使用string类的功能时,必须在本文件的开头将C++标准库中的string头文件包含进来,即应加上
#include <string> //注意头文件名不是string.h

    1. 字符串复制用赋值号
      string1=string2;
      其作用与“strcpy(string1,string2);”相同。
    2. 字符串连接用加号
      string string1=″C++″; //定义string1并赋初值
      string string2=″Language″;//定义string2并赋初值
      string1=string1 + string2;//连接string1和string2
      连接后string1为″C++ Language″。
      1. 定义字符串数组:不仅可以用string定义字符串变量,也可以用string定义字符串数组。如
        string name[5]; //定义一个字符串数组,它包含5个字符串元素
        string name[5]={″Zhang″,″Li″,″Fun″,″Wang″,″Tan″};
        1. 在一个字符串数组中包含若干个(现为5个)元素,每个元素相当于一个字符串变量。
        2. 并不要求每个字符串元素具有相同的长度,即使对同一个元素而言,它的长度也是可以变化的,当向某一个元素重新赋值,其长度就可能发生变化。
        3. 在字符串数组的每一个元素中存放一个字符串,而不是一个字符,这是字符串数组与字符数组的区别。如果用字符数组存放字符串,一个元素只能存放一个字符,用一个一维字符数组存放一个字符串。
        4. 每一个字符串元素中只包含字符串本身的字符而不包括′\0′。
          1. string s1 = "hello";
            s1.insert(1,"ins"); //从s1的1位置开始,插入"ins"字符串,即s1="hinsello";
            s1.insert(1, "ins", 2);//从s1的1位置开始,插入"ins"字符串的前2个字符,即s1="hinello";
            s1.insert(1, "ins", 1, 2);//从s1的1位置开始,插入"ins"字符串的从1位置开始的2个字符,即s1="hnsello";
          2. cout << s.find("aa", 0) << endl; //返回的是子串位置。第二个参数是查找的起始位置,如果找不到,就返回string::npos
            if (s.find("aa1", 0) == string::npos)
            {
                cout << "找不到该子串!" << endl;
            }
posted @ 2019-09-18 15:59  蓝jingjing  阅读(492)  评论(0编辑  收藏  举报