C++ 中的strncmp() 函數比較兩個空終止字符串的指定字符數。比較是按字典順序進行的。
strncmp()原型
int strncmp( const char* lhs, const char* rhs, size_t count );
strncmp()
函數有兩個參數:lhs
, rhs
和 count
。它按字典順序比較lhs
和rhs
的內容,最多計數字符。結果的符號是在 lhs
和 rhs
中不同的第一對字符之間的差異符號。
如果 lhs 或 rhs 中的任何一個不指向以空字符結尾的字符串,則 strncmp()
的行為是未定義的。
它在<cstring> 頭文件中定義。
參數:
lhs and rhs
:指向要比較的空終止字符串的指針。count
:要比較的最大字符數。
返回:
strncmp()
函數返回:
- 如果
lhs
中的第一個不同字符大於rhs
中的相應字符,則為正值。 - 如果
lhs
中的第一個不同字符小於rhs
中的相應字符,則為負值。 - 如果
lhs
和rhs
的第一個計數字符相等,則為 0。
示例:strncmp() 函數的工作原理
#include <cstring>
#include <iostream>
using namespace std;
void display(char *lhs, char *rhs, int result, int count)
{
if(result > 0)
cout << rhs << " precedes " << lhs << endl;
else if (result < 0)
cout << lhs << " precedes " << rhs << endl;
else
cout << "First " << count << " characters of " << lhs << " and " << rhs << " are same" << endl;
}
int main()
{
char lhs[] = "Armstrong";
char rhs[] = "Army";
int result;
result = strncmp(lhs,rhs,3);
display(lhs,rhs,result,3);
result = strncmp(lhs,rhs,4);
display(lhs,rhs,result,4);
return 0;
}
運行程序時,輸出將是:
First 3 characters of Armstrong and Army are same Armstrong precedes Army
相關用法
- C++ strncat()用法及代碼示例
- C++ strncpy()用法及代碼示例
- C++ string::length()用法及代碼示例
- C++ strchr()用法及代碼示例
- C++ string::npos用法及代碼示例
- C++ strcat()用法及代碼示例
- C++ strstr()用法及代碼示例
- C++ strcat() vs strncat()用法及代碼示例
- C++ strtok()用法及代碼示例
- C++ strtod()用法及代碼示例
- C++ strtoimax()用法及代碼示例
- C++ strcmp()用法及代碼示例
- C++ strcspn()用法及代碼示例
- C++ strpbrk()用法及代碼示例
- C++ strxfrm()用法及代碼示例
- C++ strspn()用法及代碼示例
- C++ strtoull()用法及代碼示例
- C++ string at()用法及代碼示例
- C++ strol()用法及代碼示例
- C++ strtoll()用法及代碼示例
注:本文由純淨天空篩選整理自 C++ strncmp()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。