C++字符串

C++提供了两种字符串的表示形式

  • C风格字符串
  • C++引入的string类型

1、延续C风格

字符串实际上是使用null字符\0终止的一维字符数组,因此字符数组大小比字符串的字符数多一个

声明和初始化创建一个字符串

    char site[7] = {'R', 'U', 'N', 'O', 'O', 'B', '\0'};
    cout<<strlen(site); //输出结果是6

 或者也可写成

char site[] = "RUNOOB";

其实不需要把null字符放在末尾,C++编译时,会自动把 \0 放在字符串末尾

C/C++中常用来操作字符串的函数

函数 功能

strcpy(s1,s2)

字符串s2赋值给s1
strcmp(s1,s2) 比较s1,s2.s1==s2,则返回0,s1<s2,返回值小于0(s1的ASCII-s2ASCII值的差值),s1>s2返回值大于0
strcat(s1,s2) 连接两个字符串,也可用 "+" 连接
strlen(s1) 返回字符串s1的长度

strchr(s1,ch)

strstr(s1,s2)

返回一个指针,指向字符串s1中首先出现ch的位置

返回一个指针,指向字符串s1中s2第一次出现的位置

 

 

⚠️以上函数包含在C++中的<cstring>头文件中,包含在C的<string.h>文件中

char *strcat( char *dest, const char *src ); //使用方法举例
#include <iostream>
#include<cstring>
using namespace std;

int main()
{   
    char s1[50] = "hello ";
    char s2[50]="world";
    strcat(s1,s2);
    char* ch=strchr(s1,'e');
    cout<<s1<<endl;
    cout<<*ch<<endl;
    return 0;
}

运行结果

hello world
e

2、C++中的String类类型

C++标准库中string类类型,支持上述所有功能,并且增加了一些新功能(可参考官方文档)。string类型包含在头文件<string>中

#include <iostream>
#include<string>
using namespace std;

int main()
{   
    string s1= "hello ";
    string s2="world";
    string s3="";
    cout<<s3.size()<<endl; //计算字符串的长度
    s3=s1+s2; //“+”直接拼接字符串
    cout<<s3<<endl;
    return 0;
}

运行结果

0
hello world

 

posted @ 2021-04-23 00:00  Makerr  阅读(130)  评论(0编辑  收藏  举报