C 字串 strncmp() 函式
示例
比較兩個字串的前 3 個字元
char myStr1[] = "ABCD";
char myStr2[] = "ABCE";
int cmp = strncmp(myStr1, myStr2, 3);
if (cmp > 0) {
cout << myStr1 << " is greater than " << myStr2 << "\n";
} else if (cmp < 0) {
cout << myStr2 << " is greater than " << myStr1 << "\n";
} else {
cout << myStr1 << " is equal to " << myStr2 << "\n";
}
自己動手試一試 »
定義和用法
strncmp()
函式用於比較兩個字串的前 n 個字元,並返回一個整數,指示哪個字串更大。
在進行比較時,會逐個比較來自兩個字串的相同位置的字元,從左開始,直到其中一個字元不匹配、已完成 n 次比較或到達字串末尾。有四種可能的情況:
- 如果在沒有任何不匹配的情況下完成了 n 次比較,則函式返回零。
- 如果在沒有任何不匹配的情況下到達了兩個字串的末尾,則函式返回零。
- 在第一次不匹配時,如果第一個字串中的字元的 ASCII 值更大,則函式返回一個正數。
- 在第一次不匹配時,如果第二個字串中的字元的 ASCII 值更大,則函式返回一個負數。
strcmp()
函式定義在 <string.h>
標頭檔案中。
注意:要比較整個字串,請改用 strcmp()
。
語法
strcmp(const char * str1, const char * str2, size_t n);
size_t
資料型別是一個正整數。
引數值
引數 | 描述 |
---|---|
str1 | 必需。要比較的字串之一。 |
str2 | 必需。要比較的字串之一。 |
n | 必需。一個正整數,限制要比較的字元數。 |
技術詳情
返回 | 一個 int 值,如果第一個字串更大,則為正數;如果第二個字串更大,則為負數;如果兩個字串相等,則為 0。 |
---|