namespace std {
int strncmp(const char* s1, const char* s2, size_t n);
}
概要
文字列を、上限サイズを指定して比較する。
効果
s1が指す配列とs2が指す配列を、先頭から最大n文字まで比較する。いずれかの文字列で終端ヌル文字に達した場合、そこで比較を終える。各文字はunsigned charとして比較される。
戻り値
比較した範囲で最初に異なる文字について、s1側の文字がs2側の文字より大きい場合は正の整数、小さい場合は負の整数を返す。比較した範囲が等しい場合は0を返す。
備考
- この関数は、フリースタンディング処理系でも使用できる。
例
#include <cstring>
#include <iostream>
int main()
{
std::cout << std::boolalpha;
// 先頭3文字だけを比較する
std::cout << (std::strncmp("abcXXX", "abcYYY", 3) == 0) << std::endl;
}
出力
true
バージョン
言語
- C++98
関連項目
参照
- P2338R4 Freestanding Library: Character primitives and the C library
- C++26で、この関数がフリースタンディング処理系で使用可能になった