C/C++字符串使用整理

Posted yzh199999999

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C/C++字符串使用整理相关的知识,希望对你有一定的参考价值。

    在C语言中,字符串有多种操作与处理方法。话不多说,下面就整理一下C语言中字符串的使用整理。

1.头文件

    字符串的头文件:

#include<cstring>

 

2.输入

    通常,字符串有多种输入方式。在这里,引用另外一个很有用的博客供大家参考——https://blog.csdn.net/czh1075208140/article/details/79698441。

3.字符串处理函数

    (1)求字符串长度函数strlen(字符数组)

    strlen是英文STRing LENgth的缩写,该函数的实参可以是字符数组名,也可以是字符串。其功能是求字符串的长度,即字符串中包含的有效字符的个数(不包括字符‘\0‘)。

    (2)字符串复制函数strcpy(字符数组1,字符数组2)

    strcpy是英文STRing CoPY的缩写,该函数的功能是将字符数组2中的字符串复制到字符数组1中去。

    事实上,strcpy也可以用自定义的方法,代码如下:

void strcpy(char s1[], char s2[])
{
    int i=0;
    while(s2[i]!=\0)
        s1[i]=s2[i++];
    s1[i]=\0;
}

 

    (3)字符串连接函数strcat(字符数组1,字符数组2)

    strcat是英文STRing conCATenate的缩写,该函数的功能是把字符数组2中的字符串连接到字符数组1中的字符串的后面,对字符数组2中的内容没有影响。

    (4)字符串比较函数strcmp(字符数组1,字符数组2)

    strcmp是英文STRing CoMPare的缩写,该函数的两个实参可以是字符数组名,也可以是字符串。其功能是用来比较两个字符串是否相等。从两个字符串的第一个字符开始自左至右逐个字符进行比较,这种比较是按字符的ASCII码值的大小进行的,到出现两个不同的字符或遇到字符串的结束标志‘\0‘为止。如果两个字符串中的字符均相同,则两个字符串相等,函数返回值为0;当两个字符串不同时,则以自左至右出现的第一个不同字符的比较结果作为两个字符串的比较结果。如果第一个字符串大于第二个字符串,则返回值为1.如果第一个字符串小于第二个字符串,则返回值为-1。

 

4.应用举例

    找出三个字符串中最小者。

#include<iostream>
using namespace std;
#include<cstring>
int main()
{
    char string[80];
    char str[3][80];
    cout<<"请输入三个字符串:\n";
    for(int i=0; i<3; i++)
        cin.getline(str[i], 80);
    if (strcmp(str[0], str[1])<0)
        strcpy(string, str[0]);
    else
        strcpy(string, str[1]);
    if(strcmp(str[2], string)<0)
        strcpy(string, str[2]);
    cout<<"最小的字符串为:"<<string<<endl;
return 0;
}

    运行结果如下:

请输入三个字符串:
China<Enter>
America<Enter>
Japan<Enter>
最小的字符串为:America

 

    以上就是本次分享的C语言字符串的使用整理。

 

以上是关于C/C++字符串使用整理的主要内容,如果未能解决你的问题,请参考以下文章

[linux][c/c++]代码片段01

[linux][c/c++]代码片段02

C/C++字符串使用整理

C/C++字符串使用整理

latex在vim中的代码片段

如何正确编组从Unity到C / C ++的字符串?