鱼C论坛

 找回密码
 立即注册
查看: 16119|回复: 12

[函数快查] strncmp -- 比较字符串(受限)

[复制链接]
发表于 2016-3-31 12:07:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
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[40] = "FishC";
        char str2[40] = "FishC.com";

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

        return 0;
}
搜狗截图20160331121437.png

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

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-4-13 22:02:46 | 显示全部楼层
小甲鱼老师 我想问问 strcmpi strncmp strnicmp  strcmp这四个函数有什么区别
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 3 反对 0

使用道具 举报

发表于 2016-4-13 22:46:51 | 显示全部楼层
其中两个是比较字符串大写小 我就纳闷这四个比较函数有什么不同的  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-10 22:11:31 | 显示全部楼层
学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-8-1 18:52:47 | 显示全部楼层
打卡
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-15 21:45:13 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-22 11:54:33 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-25 08:25:08 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-10-25 14:28:38 | 显示全部楼层
YA
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-12-10 20:25:33 | 显示全部楼层
打卡
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 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;


}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-3-25 18:08:32 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-2-19 12:18:11 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 09:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表