📜  C / C++中的strcoll()

📅  最后修改于: 2021-05-25 22:28:42             🧑  作者: Mango

strcoll()是一个内置库函数,并在< 字符串.h>头文件中声明。此函数将str1指向的字符串与str2指向的字符串进行比较。strcoll()函数根据当前语言环境的LC_COLLATE类别的规则执行比较。
句法:

int strcoll(const char *str1, const char *str2)

参数:函数strcoll()以两个字符串作为参数,并返回一个整数值。

Value                   Meaning
less than zero          str1 is less than str2
zero                    str1 is equal to str2
greater than zero       str1 is greater than str2
  1. 小于零:str1小于str2时
    // C program to illustrate strcoll()
    #include 
    #include 
      
    int main()
    {
        char str1[10];
        char str2[10];
        int ret;
      
        strcpy(str1, "geeksforgeeks");
        strcpy(str2, "GEEKSFORGEEKS");
      
        ret = strcoll(str1, str2);
      
        if (ret > 0) {
            printf("str1 is greater than str2");
        } else if (ret < 0) {
            printf("str1 is lesser than str2");
        } else {
            printf("str1 is equal to str2");
        }
      
        return (0);
    }
    

    输出:

    str1 is greater than str2
    
  2. 大于零:str1大于str2时
    // C program to illustrate strcoll()
    #include 
    #include 
      
    int main()
    {
        char str1[10];
        char str2[10];
        int ret;
      
        strcpy(str1, "GEEKSFORGEEKS");
        strcpy(str2, "geeksforgeeks");
      
        ret = strcoll(str1, str2);
      
        if (ret > 0) {
            printf("str1 is greater than str2");
        } else if (ret < 0) {
            printf("str1 is lesser than str2");
        } else {
            printf("str1 is equal to str2");
        }
      
        return (0);
    }
    

    输出:

    str1 is lesser than str2
    
  3. 等于零:str1等于str2时
    // C program to illustrate strcoll()
      
    #include 
    #include 
      
    int main()
    {
        char str1[10];
        char str2[10];
        int ret;
      
        strcpy(str1, "GEEKSFORGEEKS");
        strcpy(str2, "GEEKSFORGEEKS");
      
        ret = strcoll(str1, str2);
      
        if (ret > 0) {
            printf("str1 is greater than str2");
        } else if (ret < 0) {
            printf("str1 is lesser than str2");
        } else {
            printf("str1 is equal to str2");
        }
      
        return (0);
    }
    

    输出:

    str1 is equal to str2
    

相关函数: strcmp(),memcmp()

要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程”