(一)strcmp函數(shù)
(一)strcmp函數(shù)
strcmp函數(shù)是比較兩個(gè)字符串的大小,返回比較的結(jié)果。一般形式是:
i=strcmp(字符串,字符串);
其中,字符串1、字符串2均可為字符串常量或變量;i 是用于存放比較結(jié)果的整型變量。比較結(jié)果是這樣規(guī)定的:
①字符串1小于字符串2,strcmp函數(shù)返回一個(gè)負(fù)值;
②字符串1等于字符串2,strcmp函數(shù)返回零;
③字符串1大于字符串2,strcmp函數(shù)返回一個(gè)正值;那么,字符中的大小是如何比較的呢?來看一個(gè)例子。
實(shí)際上,字符串的比較是比較字符串中各對(duì)字符的ASCII碼。首先比較兩個(gè)串的第一個(gè)字符,若不相等,則停止比較并得出大于或小于的結(jié)果;如果相等就接著 比較第二個(gè)字符然后第三個(gè)字符等等。如果兩上字符串前面的字符一直相等,像"disk"和"disks" 那樣, 前四個(gè)字符都一樣, 然后比較第 五個(gè)字符, 前一個(gè)字符串"disk"只剩下結(jié)束符'/0',后一個(gè)字符串"disks"剩下's','/0'的ASCII碼小于's'的ASCII 碼,所以得出了結(jié)果。因此無論兩個(gè)字符串是什么樣,strcmp函數(shù)最多比較到其中一個(gè)字符串遇到結(jié)束符'/0'為止,就能得出結(jié)果。
注意:字符串是數(shù)組類型而非簡單類型,不能用關(guān)系運(yùn)算進(jìn)行大小比較。
if("ABC">"DEF") /*錯(cuò)誤的字符串比較*/
if(strcmp("ABC","DEF") /*正確的字符串比較*/
(二)strcpy函數(shù)
strcpy函數(shù)用于實(shí)現(xiàn)兩個(gè)字符串的拷貝。一般形式是:
strcpy(字符中1,字符串2)
其中,字符串1必須是字符串變量,而不能是字符串常量。strcpy函數(shù)把字符串2的內(nèi)容完全復(fù)制到字符串1中,而不管字符串1中原先存放的是什么。復(fù)制后,字符串2保持不變。
例:
注意,由于字符串是數(shù)組類型,所以兩個(gè)字符串復(fù)制不通過賦值運(yùn)算進(jìn)行。
t=s; /*錯(cuò)誤的字符串復(fù)制*/
strcpy(t,s); /*正確的字符串復(fù)制*/
posted on 2012-06-29 11:52 順其自然EVO 閱讀(256) 評(píng)論(0) 編輯 收藏 所屬分類: loadrunner