在C語言中比較兩個字符串是否相等的方法
C語言strcmp()函數(shù):比較字符串(區(qū)分大小寫)
頭文件:#include <string.h>
strcmp() 用來比較字符串(區(qū)分大小寫),其原型為:
int strcmp(const char *s1, const char *s2);
【參數(shù)】s1, s2 為需要比較的兩個字符串。
字符串大小的比較是以ASCII 碼表上的順序來決定,此順序亦為字符的值。strcmp()首先將s1 第一個字符值減去s2 第一個字符值,若差值為0 則再繼續(xù)比較下個字符,若差值不為0 則將差值返回。例如字符串"Ac"和"ba"比較則會返回字符"A"(65)和'b'(98)的差值(-33)。
【返回值】若參數(shù)s1 和s2 字符串相同則返回0。s1 若大于s2 則返回大于0 的值。s1 若小于s2 則返回小于0 的值。
注意:strcmp() 以二進制的方式進行比較,不會考慮多字節(jié)或?qū)捵止?jié)字符;如果考慮到本地化的需求,請使用 strcoll() 函數(shù)。
【實例】對 4 組字符串進行比較。
#include <string.h> main(){ char *a = "aBcDeF"; char *b = "AbCdEf"; char *c = "aacdef"; char *d = "aBcDeF"; printf("strcmp(a, b) : %d\n", strcmp(a, b)); printf("strcmp(a, c) : %d\n", strcmp(a, c)); printf("strcmp(a, d) : %d\n", strcmp(a, d)); }
輸出結(jié)果:
strcmp(a, b) : 32 strcmp(a, c) :-31 strcmp(a, d) : 0
C語言strcasecmp()函數(shù):判斷字符串是否相等(忽略大小寫)
頭文件:#include <string.h>
定義函數(shù):
int strcasecmp (const char *s1, const char *s2);
函數(shù)說明:strcasecmp()用來比較參數(shù)s1 和s2 字符串,比較時會自動忽略大小寫的差異。
返回值:若參數(shù)s1 和s2 字符串相同則返回0。s1 長度大于s2 長度則返回大于0 的值,s1 長度若小于s2 長度則返回小于0 的值。
范例
#include <string.h> main(){ char *a = "aBcDeF"; char *b = "AbCdEf"; if(!strcasecmp(a, b)) printf("%s=%s\n", a, b); }
執(zhí)行結(jié)果:
aBcDeF=AbCdEf
相關(guān)文章
C++?JSON庫?nlohmann::basic_json::accept的用法解析
nlohmann::basic_json::accept 是 Nlohmann JSON 庫中的一個方法,它用于檢查一個字符串是否可以解析為有效的 JSON,這篇文章主要介紹了C++?JSON庫nlohmann::basic_json::accept的用法,需要的朋友可以參考下2023-06-06C++?LeetCode0538二叉搜索樹轉(zhuǎn)換累加樹示例
這篇文章主要為大家介紹了C++?LeetCode0538二叉搜索樹轉(zhuǎn)換累加樹示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-12-12