日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Linux字符串比較技巧:詳解字符串比較函數(shù)及其應(yīng)用 (linux 比較字符串)

在Linux編程中,字符串處理是必不可少的一部分,而字符串比較則是其中的重要操作之一。本文將詳解Linux中常用的字符串比較函數(shù)及其應(yīng)用。

為武強(qiáng)等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及武強(qiáng)網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、武強(qiáng)網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!

一、strcmp函數(shù)

strcmp函數(shù)是C語言中比較字符串的函數(shù),其原型為:

“`

int strcmp(const char* str1, const char* str2);

“`

該函數(shù)返回值為整型,當(dāng)兩個(gè)字符串相等時(shí)返回0,str1小于str2時(shí)返回負(fù)值,str1大于str2時(shí)返回正值。

示例代碼如下:

“`c

#include

#include

int mn() {

char str1[] = “Linux”;

char str2[6] = {‘L’, ‘i’, ‘n’, ‘u’, ‘x’, ‘\0’};

char str3[] = “Unix”;

int result1, result2, result3;

result1 = strcmp(str1, str2);

result2 = strcmp(str1, str3);

result3 = strcmp(str3, str1);

printf(“result1: %d\n”, result1);

printf(“result2: %d\n”, result2);

printf(“result3: %d\n”, result3);

return 0;

}

“`

輸出結(jié)果為:

“`

result1: 0

result2: 10

result3: -10

“`

其中,result1為0,表示str1與str2相等;result2為正值10,表示str1大于str3;result3為負(fù)值-10,表示str3小于str1。

二、strncmp函數(shù)

如果要比較的字符串中間有空字符’\0’,那么strcmp函數(shù)就無法正確比較。此時(shí)可以使用strncmp函數(shù),該函數(shù)比較兩個(gè)字符串的前n個(gè)字符。

strncmp函數(shù)的原型為:

“`

int strncmp(const char* str1, const char* str2, size_t n);

“`

參數(shù)n表示比較的字符數(shù)。

示例代碼如下:

“`c

#include

#include

int mn() {

char str1[] = “Linux \0 Quartz”;

char str2[] = “Linux \0 Shell”;

int result;

result = strncmp(str1, str2, 5);

printf(“result: %d\n”, result);

return 0;

}

“`

輸出結(jié)果為:

“`

result: 0

“`

由于比較的字符數(shù)為5,因此只比較了”Linux “這5個(gè)字符,忽略了空字符及之后的字符。因此,str1和str2在這5個(gè)字符上是相等的。

三、strcasecmp函數(shù)

C語言中的字符串比較是區(qū)分大小寫的,如果要忽略大小寫,可以使用strcasecmp函數(shù)。該函數(shù)比較兩個(gè)字符串,不區(qū)分大小寫,其原型為:

“`

int strcasecmp(const char* str1, const char* str2);

“`

示例代碼如下:

“`c

#include

#include

int mn() {

char str1[] = “Linux”;

char str2[] = “l(fā)inux”;

int result = strcasecmp(str1, str2);

printf(“result: %d\n”, result);

return 0;

}

“`

輸出結(jié)果為:

“`

result: 0

“`

因?yàn)楹雎粤舜笮懀詓tr1和str2在比較時(shí)被視為相等。

四、strncasecmp函數(shù)

如果要忽略大小寫比較字符串的前n個(gè)字符,可以使用strncasecmp函數(shù)。該函數(shù)比較兩個(gè)字符串的前n個(gè)字符,不區(qū)分大小寫,其原型為:

“`

int strncasecmp(const char* str1, const char* str2, size_t n);

“`

示例代碼如下:

“`c

#include

#include

int mn() {

char str1[] = “Linux”;

char str2[] = “l(fā)inux”;

int result = strncasecmp(str1, str2, 3);

printf(“result: %d\n”, result);

return 0;

}

“`

輸出結(jié)果為:

“`

result: 0

“`

由于只比較了字符串的前3個(gè)字符,因此str1和str2在比較時(shí)被視為相等。

五、

相關(guān)問題拓展閱讀:

  • linux shell中的如下比較字符串為什么比較不出來?

linux shell中的如下比較字符串為什么比較不出來?

能否提供下你的變量獲取的代碼?你的$line 和 $blockname 獲櫻衡取到的代碼能貼脊兄做下么?

更好能貼一下完塵高整的代碼,以便debug。

linux 比較字符串的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于linux 比較字符串,Linux字符串比較技巧:詳解字符串比較函數(shù)及其應(yīng)用,linux shell中的如下比較字符串為什么比較不出來?的信息別忘了在本站進(jìn)行查找喔。

成都網(wǎng)站推廣找創(chuàng)新互聯(lián),老牌網(wǎng)站營銷公司
成都網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)(www.cdcxhl.com)專注高端網(wǎng)站建設(shè),網(wǎng)頁設(shè)計(jì)制作,網(wǎng)站維護(hù),網(wǎng)絡(luò)營銷,SEO優(yōu)化推廣,快速提升企業(yè)網(wǎng)站排名等一站式服務(wù)。IDC基礎(chǔ)服務(wù):云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗(yàn)、服務(wù)器租用、服務(wù)器托管提供四川、成都、綿陽、雅安、重慶、貴州、昆明、鄭州、湖北十堰機(jī)房互聯(lián)網(wǎng)數(shù)據(jù)中心業(yè)務(wù)。


分享標(biāo)題:Linux字符串比較技巧:詳解字符串比較函數(shù)及其應(yīng)用 (linux 比較字符串)
網(wǎng)站URL:http://www.5511xx.com/article/djpseog.html