小甲鱼 发表于 2016-3-31 12:07:57

strncmp -- 比较字符串(受限)

strncmp 函数文档

函数概要:

strncmp 函数用于比较两个字符串的前 n 个字符。

该函数从第一个字符开始,依次比较每个字符的 ASCII 码大小,发现两个字符不相等或抵达结束符('\0')为止,或者前 n 个字符完全一样,也会停止比较。


函数原型:

#include <string.h>
...
int strncmp(const char *s1, const char *s2, size_t n);

参数解析:


参数含义
s1 指向待比较的字符串 1
s2 指向待比较的字符串 2
n 指定待比较的字符数


返回值:

返回一个整数表示两个字符串的关系:


返回值含义
< 0 字符串 1 的字符小于字符串 2 对应位置的字符
0 两个字符串的内容完全一致
> 0 字符串 1 的字符大于字符串 2 对应位置的字符


演示:

#include <stdio.h>
#include <string.h>

int main()
{
      char str1 = "FishC";
      char str2 = "FishC.com";

      if (!strncmp(str1, str2, 5))
      {
                printf("str1和str2前5个字符相同!\n");
      }
      else
      {
                printf("str1和str2前5个字符不同!\n");
      }

      return 0;
}


版权归鱼C工作室(www.fishc.com)所有,转载请注明来源!

943566987 发表于 2016-4-13 22:02:46

小甲鱼老师 我想问问 strcmpi strncmp strnicmpstrcmp这四个函数有什么区别

943566987 发表于 2016-4-13 22:46:51

其中两个是比较字符串大写小 我就纳闷这四个比较函数有什么不同的

1323349692 发表于 2018-12-10 22:11:31

学习{:9_219:}

清尘yt 发表于 2019-8-1 18:52:47

打卡

Acacia 发表于 2020-2-15 21:45:13

{:10_260:}

以后and未来 发表于 2020-2-22 11:54:33

{:10_265:}

200 发表于 2020-3-25 08:25:08

{:10_257:}

Camon 发表于 2020-10-25 14:28:38

YA

hangfrieddays 发表于 2021-12-10 20:25:33

打卡

番茄laosp 发表于 2022-11-3 22:44:43

#include <stdio.h>
#include <string.h>



int charcmp(char str1[], char str2[] , int i);

int main()
{
        charcmp("h1", "j1" , 2);
        return 0;
}



int charcmp(char str1[] , char str2[] , int i ) {

        int x1, x2 , 计次 = 0 , fhz = 0;
       
        x1 = sizeof(str1 - 1); x2 = sizeof(str2 - 1); //获取字符长度

        for (; 计次 <= i; 计次++) { //被比较字符 大于 比较字符
       
                //printf("计次 %d\nstr1:%d\nstr2:%d\n",计次 , str1[计次], str2[计次]);

                if (str1[计次] == str2[计次]) {   //两个字符相等
                        continue;
                }
                else if(str1[计次 ] != str2[计次]){///两个字符不相对相等
               
                        if (str1[计次 ] > str2[计次 ]) {

                                fhz++;
                                printf("fhz++ :%d",fhz );
                        }
                        else
                        {
                                fhz--;
                                printf("fhz-- :%d", fhz);
                        };
       
                        continue;
                }
               
        }
       
       
       
        printf("%s | %s", str1, str2);


        if (fhz == 0) {

                printf("输入的字符串相等");

        }
        else {


                printf("输入的字符串不相等");

        };


        return fhz;


}

啊这啧啧啧 发表于 2023-3-25 18:08:32

{:10_257:}

GuHx 发表于 2024-2-19 12:18:11

{:10_279:}
页: [1]
查看完整版本: strncmp -- 比较字符串(受限)