• C++ 字符串


    C 风格字符串

    C 风格的字符串起源于 C 语言,并在 C++ 中继续得到支持。字符串实际上是使用 null 字符 '' 终止的一维字符数组。因此,一个以 null 结尾的字符串,包含了组成字符串的字符。

    下面的声明和初始化创建了一个 "Hello" 字符串。由于在数组的末尾存储了空字符,所以字符数组的大小比单词 "Hello" 的字符数多一个。‘

    char greeting[6] = {'H', 'e', 'l', 'l', 'o', ''};

    依据数组初始化规则,您可以把上面的语句写成以下语句:

    char greeting[] = "Hello";

    以下是 C/C++ 中定义的字符串的内存表示:

    其实,您不需要把 null 字符放在字符串常量的末尾。C++ 编译器会在初始化数组时,自动把 '' 放在字符串的末尾。让我们尝试输出上面的字符串:

    实例:

    #include <iostream>
     
    using namespace std;
     
    int main ()
    {
       char greeting[6] = {'H', 'e', 'l', 'l', 'o', ''};
     
       cout << "Greeting message: ";
       cout << greeting << endl;
     
       return 0;
    }

    当上面的代码被编译和执行时,它会产生下列结果:

    Greeting message: Hello

    C++ 中有大量的函数用来操作以 null 结尾的字符串:supports a wide range of functions that manipulate null-terminated strings:

    序号函数 & 目的
    1 strcpy(s1, s2);
    复制字符串 s2 到字符串 s1。
    2 strcat(s1, s2);
    连接字符串 s2 到字符串 s1 的末尾。
    3 strlen(s1);
    返回字符串 s1 的长度。
    4 strcmp(s1, s2);
    如果 s1 和 s2 是相同的,则返回 0;如果 s1<s2 则返回值小于 0;如果 s1>s2 则返回值大于 0。
    5 strchr(s1, ch);
    返回一个指针,指向字符串 s1 中字符 ch 的第一次出现的位置。
    6 strstr(s1, s2);
    返回一个指针,指向字符串 s1 中字符串 s2 的第一次出现的位置。

    下面的实例使用了上述的一些函数:

    #include <iostream>
    #include <cstring>
     
    using namespace std;
     
    int main ()
    {
       char str1[11] = "Hello";
       char str2[11] = "World";
       char str3[11];
       int  len ;
     
       // 复制 str1 到 str3
       strcpy( str3, str1);
       cout << "strcpy( str3, str1) : " << str3 << endl;
     
       // 连接 str1 和 str2
       strcat( str1, str2);
       cout << "strcat( str1, str2): " << str1 << endl;
     
       // 连接后,str1 的总长度
       len = strlen(str1);
       cout << "strlen(str1) : " << len << endl;
     
       return 0;
    }

    当上面的代码被编译和执行时,它会产生下列结果:

    strcpy( str3, str1) : Hello
    strcat( str1, str2): HelloWorld
    strlen(str1) : 10
  • 相关阅读:
    HTML DOM 06 节点关系
    HTML DOM 05 事件(三)
    HTML DOM 05 事件(二)
    HTML DOM 05 事件(一)
    html DOM 04 样式
    html DOM 03 节点的属性
    html DOM 02 获取节点
    html DOM 01 节点概念
    JavaScript 29 计时器
    JavaScript 28 弹出框
  • 原文地址:https://www.cnblogs.com/chuijingjing/p/9246285.html
Copyright © 2020-2023  润新知