精华内容
下载资源
问答
  • 对比字符串是否相同
    千次阅读
    2022-03-30 09:10:13

    函数:strcmp和strncmp

    strcmp

    使用格式:

            #include <string.h>

           int strcmp(const char *s1, const char *s2);

           

    设这两个字符串为str1,str2,
    若str1==str2,则返回零;
    若str1 > str2,则返回正数;
    若str1< str2,则返回负数。

    即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇’\0’为止。

    如:
    strcmp(“abcd”,”abcd”)的返回值是 0;
    strcmp(“ab”,”ac”)的返回值是 1;
    strcmp(“abc”,"abd”)的返回值是 -1;

    还有一种情况:
    strcmp(“A”,”C”)的返回值是 -2;
    strcmp(“C”,”A”)的返回值是 2;
    这个确切的数值是依赖不同的c的实现

    特别注意:strcmp(const char s1,const char s2)这里面只能比较字符串,即可用于比较两个字符串常量,或比较数组和字符串常量,不能比较数字等其他形式的参数。

    strncmp

    使用格式:

            #include <string.h>

            int strncmp(const char *s1, const char *s2, size_t n);

    strncmp函数是指定比较size个字符。也就是说,如果字符串s1与s2的前size个字符相同,函数返回值为0。此函数功能即比较字符串str1和str2的前m个字符。如果前m字节完全相等,返回值就=0;在前maxlen字节比较过程中,如果出现str1[n]与str2[n]不等,则依次比较str1和str2的前n位,设i(i< n)为两字符串首次的不同位,则返回(str1[i]-str2[i])。

    如;
    str1=”ABCDHG”

    str2=”ABCDEF”
    strncmp(str1,str2,4)的返回值是 0;
    strncmp(str1,str2,5)的返回值是 1;(ascll码中 E减去H的大小等于1)

    strncmp 函数示例

    #include <sys/types.h>
    #include <sys/stat.h>
    #include <stdio.h>
    #include <string.h>
    #include <unistd.h>
    #include <fcntl.h>
    #include <strings.h>

    int main(int argc,char*argv[])
    {
        //创建管道文件fifo
        int ret;
        ret = mkfifo("/mnt/hgfs/gzgongxiang/xtbianchen/fifo"0777);
        if(ret == 0)
        {
            printf("create fifo success!\n");
        }
        
        //打开创建的管道文件 
        int fd;
        fd = open("/mnt/hgfs/gzgongxiang/xtbianchen/fifo",O_RDWR);
        if(fd < 0)
        {
            printf("open fifo error!\n");
        }
        //新建一个数据缓冲区
        char buf[100];
        while(1)
        {   
            //清空缓冲区
            bzero(buf,sizeof(buf));
            //将文件读入缓冲区中
            read(fd,buf,sizeof(buf));
            //打印文件内容
            printf("buf from fifo:%s",buf);
            
            //在缓冲区读取到quit这4个字符就退出
            if(strncmp(buf,"quit",4))
            {
                break;
            }
            
        }    
        
    }

    更多相关内容
  • js中怎么判断两个字符串相等的实例 https://www.jb51.net/article/154827.htm var name = document.form1.txtUserName.value.toLowerCase(); if(name == urname) { // statements go here. }  JavaScript...
  • 比较两个字符串是否相等的办法是: if [ “$test”x = “test”x ]; then 这里的关键有几点: 1 使用单个等号 2 注意到等号两边各有一个空格:这是unix shell的要求 3 注意到”$test”x最后的x,这是特意安排的,...
  • Python判断两个相等的中文字符串为false,将两个待比较字符串都把unicode编码设为‘utf-8’也不能解决问题,具体原因如下: 1.首先查看待比较两个字符串的编码格式 ,使用命令 import chardet ...... string_code...
  • 今天小编就为大家分享一篇使用python语言,比较两个字符串是否相同的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 主要介绍了Java与JavaScript中判断两字符串是否相等的区别,非常不错,具有参考借鉴价值,需要的朋友可以参考下
  • 使用js比较字符串是否相等的方法有很多,在本文为大家介绍一个从外国网站看到的方法,感兴趣的朋友可以参考下哈,希望对大家学习js有所帮助
  • c ++比较字符串是否相等In this tutorial, we’ll learn methods to compare strings in C++. Consider a scenario wherein you are required to enter your name and password to login to a particular website. ...

    c ++比较字符串是否相等

    In this tutorial, we’ll learn methods to compare strings in C++. Consider a scenario wherein you are required to enter your name and password to login to a particular website. In such cases, at the back end, we need to build and script functions to check and compare the input string (login details) with the string stored in the data base.

    在本教程中,我们将学习在C ++中比较字符串的方法。 考虑一种方案,其中要求您输入名称和密码才能登录到特定网站。 在这种情况下,在后端,我们需要构建和编写脚本函数,以检查输入字符串(登录详细信息)并将其与数据库中存储的字符串进行比较。

    So, relating it here, in this article, will be understanding the Ways to compare string in C++ language.

    因此,在本文中与此相关的将是理解C ++语言中比较字符串方法



    在C ++中比较字符串的技术 (Techniques to Compare Strings in C++)

    Strings in C++ can be compared using either of the following techniques:

    可以使用以下两种技术之一来比较C ++中的字符串:

    • String strcmp() function

      字符串strcmp()函数
    • In-built compare() function

      内置compare()函数
    • C++ Relational Operators ( ‘==’ , ‘!=’ )

      C ++关系运算符('==','!=')


    1. C ++中的字符串strcmp()函数 (1. String strcmp() function in C++)

    C++ String has got in-built functions to manipulate and deal with data of string type. In order to compare two strings, we can use String’s strcmp() function.

    C ++ String具有内置函数来处理和处理字符串类型的数据。 为了比较两个字符串,我们可以使用String的strcmp()函数。

    The strcmp() function is a C library function used to compare two strings in a lexicographical manner.

    strcmp()函数是C库函数,用于按字典顺序比较两个字符串。

    Syntax:

    句法:

    
    int strcmp ( const char * str1, const char * str2 );
    
    • The function returns 0 if both the strings are equal or the same.

      如果两个字符串相等或相同, 函数返回0
    • The input string has to be a char array of C-style string.

      输入字符串必须是C样式字符串的char数组。
    • The strcmp() compares the strings in a case-sensitive form as well.

      strcmp()也以区分大小写的形式比较字符串。

    Example 1:

    范例1:

    
    #include<iostream>
    using namespace std;
    #include<string.h>
    int main() {
       const char *str_inp1="JournalDEV";
       const char *str_inp2="JournalDEv";
       
    cout<<"String 1:"<<str_inp1<<endl;
    cout<<"String 2:"<<str_inp2<<endl;
    
    	if (strcmp(str_inp1, str_inp2) == 0)
    		cout << "\nBoth the input strings are equal." << endl;
    	else
    		cout << "The input strings are not equal.";
     
    }
    

    Output:

    输出:

    
    String 1:JournalDEV
    String 2:JournalDEv
    The input strings are not equal.
    

    Example 2:

    范例2:

    
    #include<iostream>
    using namespace std;
    #include<string.h>
    int main() {
       const char *str_inp1="Python";
       const char *str_inp2="Python";
       
    cout<<"String 1:"<<str_inp1<<endl;
    cout<<"String 2:"<<str_inp2<<endl;
    
    	if (strcmp(str_inp1, str_inp2) == 0)
    		cout << "\nBoth the input strings are equal." << endl;
    	else
    		cout << "The input strings are not equal.";
     
    }
    

    Output:

    输出:

    
    String 1:Python
    String 2:Python
    
    Both the input strings are equal.
    


    2. C ++中的compare()函数 (2. The compare() function in C++)

    C++ has in-built compare() function in order to compare two strings efficiently.

    C ++具有内置的compare()函数,以便有效地比较两个字符串。

    The compare() function compares two strings and returns the following values according to the matching cases:

    compare()函数比较两个字符串,并根据匹配情况返回以下值:

    • Returns 0, if both the strings are the same.

      如果两个字符串相同,则返回0。
    • Returns <0, if the value of the character of the first string is smaller as compared to the second string input.

      如果第一个字符串的字符值小于第二个字符串输入的字符,则返回<0。
    • Results out to be >0, when the second string is greater in comparison.

      当第二个字符串比较大时,结果为> 0。

    Syntax:

    语法

    
    int compare (const string& string-name) const;
    

    Example 1:

    范例1:

    
    #include<iostream>
    using namespace std;
    
    int main() {
       string str_inp1("Python");
       string str_inp2("Python");
       
    cout<<"String 1:"<<str_inp1<<endl;
    cout<<"String 2:"<<str_inp2<<endl;
    int res = str_inp1.compare(str_inp2);
    
    	if (res == 0)
    		cout << "\nBoth the input strings are equal." << endl;
    	else if(res < 0)
    		cout << "String 1 is smaller as compared to String 2\n.";
    		else
    		cout<<"String 1 is greater as compared to String 2\n.";
    }
    

    In the above example, we have compared string 1 with string 2. As clearly seen, both the strings are the same lexicographically, it returns 0.

    在上面的示例中,我们将字符串1与字符串2进行了比较。可以清楚地看到,两个字符串在字典上都相同,返回0。

    Output:

    输出:

    
    String 1:Python
    String 2:Python
    
    Both the input strings are equal.
    

    Example 2:

    范例2:

    
    #include<iostream>
    using namespace std;
    
    int main() {
       string str_inp1("Python");
       string str_inp2("JournalDEV");
       
    cout<<"String 1:"<<str_inp1<<endl;
    
    
    
    	if (str_inp1.compare("Python") == 0)
    		cout << "Strings are equal." << endl;
    	else
    		cout<<"Strings are not Equal\n.";
    		
    	
    cout<<"\nString 2:"<<str_inp2<<endl;	
    	if (str_inp2.compare("JournalDEv") == 0)
    		cout << "Strings are equal." << endl;
    	else
    		cout<<"Strings are not Equal.\n";	
     
    }
    

    In the above snippet of code, we have compared a string with another input string to the compare() function directly.

    在上面的代码片段中,我们将一个字符串和另一个输入字符串直接比较到compare()函数。

    Output:

    输出:

    
    String 1:Python
    Strings are equal.
    
    String 2:JournalDEV
    Strings are not Equal.
    


    3. C ++中的关系运算符 (3. Relational Operators in C++)

    C++ Relational operators such as ‘==’ and ‘!=’ can be useful in the comparison of string at an ease.

    C ++关系运算符(例如'=='和'!=')在轻松比较字符串时很有用。

    Syntax:

    句法:

    
    string1 == string 2
    OR
    string1 != string2
    

    Example 1: Using C++ ‘==’ operator

    示例1:使用C ++'=='运算符

    
    #include<iostream>
    using namespace std;
    
    int main() {
       string str_inp1;
       string str_inp2;
       
       cout<<"Enter the String 1:\n";
       cin>>str_inp1;
       cout<<"Enter the String 2:\n";
       cin>>str_inp2;
       
    
        if (str_inp1 == str_inp2) 
            cout <<"Strings are equal"<<endl; 
        else
            cout <<"Strings are not equal"<< endl; 
        
            
    }
    

    Output:

    输出:

    
    Enter the String 1:
    Python
    Enter the String 2:
    PythoN
    Strings are not equal
    

    Example 2: Using C++ ‘!=’ operator

    示例2:使用C ++'!='运算符

    
    #include<iostream>
    using namespace std;
    
    int main() {
       string str_inp1;
       string str_inp2;
       
       cout<<"Enter the String 1:\n";
       cin>>str_inp1;
       cout<<"Enter the String 2:\n";
       cin>>str_inp2;
       
    
        if (str_inp1 != str_inp2) 
            cout <<"Strings are not equal"<<endl; 
        else
            cout <<"Strings are equal"<< endl; 
        
    }
    

    Output:

    输出:

    
    Enter the String 1:
    Python
    Enter the String 2:
    Python
    Strings are equal
    


    结论 (Conclusion)

    In this article, we have understood various ways to compare strings in C++ Language.

    在本文中,我们了解了在C ++语言中比较字符串的各种方法。



    参考资料 (References)

    翻译自: https://www.journaldev.com/37330/compare-strings-in-c-plus-plus

    c ++比较字符串是否相等

    展开全文
  • 内容索引:C#源码,字符处理,字符串比较 C# 比较字符串是否相同的源代码,有意思的方法,基于VS2008环境编译,对学习C#基础知识很有帮助。部分代码如下:  class Program  {  static void Main(string[] args)  {...
  • python怎么比较字符串是否相等

    千次阅读 2020-12-10 07:18:40
    在实际的开发工作中,经常会遇到要判定两个字符串是否相等,下面我们说一下具体的实现方法第一种是is来判断groupName = params['groupName'] ##groupName的值是'url'reqBody['dim'] = groupNameprint("reqBody_dim-...

    在实际的开发工作中,经常会遇到要判定两个字符串是否相等,下面我们说一下具体的实现方法

    第一种是is来判断groupName = params['groupName'] ##groupName的值是'url'

    reqBody['dim'] = groupName

    print("reqBody_dim-SummaryListHandler", reqBody['dim']) ## ('reqBody_dim-SummaryListHandler', u'url')

    print("reqBody_dim_url-SummaryListHandler", ('url' is reqBody['dim'])) ## ('reqBody_dim_url-SummaryList

    Handler', False)

    if groupName is 'url':

    打印如下,看到通过is判断是false

    ('reqBody_dim-SummaryListHandler', u'url')

    ('reqBody_dim_url-SummaryListHandler', False)

    第二种是用id 和 in

    看到用in可以判断两个字符串相等print("groupName:",groupName)

    reqBody['dim'] = groupName

    print("reqBody_dim-SummaryListHandler", reqBody['dim'])

    print("reqBody_dim_url_is-SummaryListHandler", ('url' is groupName))

    print("reqBody_dim_url_id-SummaryListHandler", (id('url')==id(groupName)))

    print("reqBody_dim_url_in-SummaryListHandler", ('url' in groupName))

    ('groupName:', u'url')

    ('reqBody_dim-SummaryListHandler', u'url')

    ('reqBody_dim_url_is-SummaryListHandler', False)

    ('reqBody_dim_url_id-SummaryListHandler', False)

    ('reqBody_dim_url_in-SummaryListHandler', True)

    展开全文
  • C语言:比较两个字符串是否相等

    千次阅读 2022-06-05 11:09:45
    ​ 讲解上面的程序: 定义了一个char(字符型)的指针变量str1,并且初始化为 "abc" 定义了一个char(字符型)的指针变量str2,并且初始化为 "abc" 通过strcmp进行比较两个字符串是否相同,如果相同返回0 ​......

    1) 使用strcmp进行比较

    下面通过一个例子进行演示:

    #include <stdio.h>
    #include <string.h>
     
    int main()
    {
    	char* str1 = "abc";
    	char* str2 = "abc";
     
    	if (strcmp(str1, str2) == 0) {
    	    printf("str1和str2相同!\n");
    	}
    	else {
    	    printf("str1和str2不相同!\n");
    	}
     
    	return 0;
    }

    讲解上面的程序:

    定义了一个char(字符型)的指针变量str1,并且初始化为 "abc"

    定义了一个char(字符型)的指针变量str2,并且初始化为 "abc"

    通过strcmp进行比较两个字符串是否相同,如果相同返回0

     

    例题:

     

    #include<stdio.h>
    #include<string.h>
    int is_revolve(char str1[], char str2[], int len1, int len2)
    {
    	int j = 0;
    	while (j<len1)
    	{
    		char tmp = str1[0];
    		int i = 0;
    		while (i < len1 - 1)
    		{
    			str1[i] = str1[i + 1];
    			i++;
    		}
    		str1[i] = tmp;
    		if (strcmp(str1,str2)==0)
    		{
    			return 1;
    			break;
    		}
    		j++;
    	}
    	return 0;
    }
    int main()
    {
    	char s1[] = "AABCD";
    	char s2[] = "DAABC";
    	int len1 = strlen(s1);
    	int len2 = strlen(s2);
    	int ret = is_revolve(s1, s2, len1, len2);
    	if (ret == 1)
    		printf("是");
    	else
    		printf("否");
    	return 0;
    }

     

     

     

     

    展开全文
  • 主要介绍了Shell字符串比较相等、不相等方法小结,本文直接给出代码,但代码中含有大量注释,需要的朋友可以参考下
  • equalsIgnoreCase(str):比较字符串内容是否相等,但是会忽略(不区分大小写)大小写 【示例】 public static void main(String[] args) { String str="TOM"; boolean rs = str.equalsIgnoreCase("tom");...
  • 比较字符串的内容是否相同

    千次阅读 2021-01-27 10:45:39
    必须使用equals()方法而不能用==。 例子: public class Main { public static void main(String[] args) { String s1 = "hello"; String s2 = "hello"; System.out.println(s1 =...从表面上看,两个字符串用==和eq
  • c语言==判断字符串是否相等

    万次阅读 多人点赞 2019-08-12 18:09:24
    最近学习c语言,发现==在比较字符串的时候有点意思。总结如下: 1、如果比的是字符串指针,有可能是相等的 2、如果比较的是字符串本身(通过*p比),只会比较第一个字符 3、比较字符串数组的话,一定是不等的,...
  • Lua 字符串

    2021-01-03 03:25:45
    Lua 字符串 字符串或串(String)是由数字、字母、下划线组成的一串字符。 Lua 语言中字符串可以使用以下三种方式来表示: 单引号间的一串字符。 双引号间的一串字符。 [[和]]间的一串字符。 以上三种方式的字符串实例...
  • 使用指针来判断两个字符串是否相等 cout请分别输入两个字符串str1和str2:"; cin.getline(str1,100); cin.getline(str2,100);
  • 忽略大小比较字符串是否相等

    千次阅读 2020-12-06 12:12:57
    忽略大小比较字符串是否相等题目要求比较两个字符串,忽略大小写,比如字符串"abc"和字符串"ABC",在忽略大小写的情况下是相等的,实现函数def is_same_ignore_case(str1, str2):"""忽略大小写比较两个字符串是否相等...
  • shell比较两个字符串是否相等

    万次阅读 2021-02-04 20:21:20
    比较两个字符串是否相等的办法是:if [ "$test"x = "test"x ]; then这里的关键有几点:1 使用单个等号2 注意到等号两边各有一个空格:这是unix shell的要求3 注意到"$test"x最后的x,这是特意安排的,因为当$test为...
  • 今天小编就为大家分享一篇Java 判断两个字符串是否相同的字符组成的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • python如何比较两个字符串是否相等

    千次阅读 2020-11-24 08:02:36
    在实际的开发工作中,经常会遇到要判定两个字符串是否相等,下面我们说一下具体的实现方法第一种是is来判断groupName = params['groupName'] ##groupName的值是'url'reqBody['dim'] = groupNameprint("reqBody_dim-...
  • 在python中,判断两个字符串是否相等或一样,可以使用==或者is来判断;判断不一样可以使用 is not。示例使用注意事项1.有时候两个字符串打印出来看着一样,但是判断却是False?如果两个字符串末尾有其他符号,比如...
  • java怎么判断两个字符串是否相等

    千次阅读 2021-03-08 06:40:40
    java怎么判断两个字符串是否相等发布时间:2020-06-25 11:22:03来源:亿速云阅读:115作者:Leah这期内容当中的小编将会给大家带来有关java判断两个字符串是否相等的方法,以专业的角度为大家分析和叙述,阅读完这篇...
  • C语言strcmp()函数:比较字符串(区分大小写) 头文件:#include strcmp() 用来比较字符串(区分大小写),其原型为: int strcmp(const char *s1, const char *s2); 【参数】s1, s2 为需要比较的两个字符串。 ...
  • 字符串比较除了代码中的方法还有哪些方法更好的描述。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,016,867
精华内容 406,746
关键字:

对比字符串是否相同