std:: strncmp
|
Défini dans l'en-tête
<cstring>
|
||
|
int
strncmp
(
const
char
*
lhs,
const
char
*
rhs,
std::
size_t
count
)
;
|
||
Compare au maximum count caractères de deux tableaux potentiellement terminés par un caractère nul. La comparaison est effectuée de manière lexicographique. Les caractères suivant le caractère nul ne sont pas comparés.
Le signe du résultat est le signe de la différence entre les valeurs de la première paire de caractères (tous deux interprétés comme unsigned char ) qui diffèrent dans les tableaux comparés.
Le comportement est indéfini lorsque l'accès se produit au-delà de la fin de l'un ou l'autre tableau lhs ou rhs . Le comportement est indéfini lorsque l'un ou l'autre lhs ou rhs est le pointeur nul.
Table des matières |
Paramètres
| lhs, rhs | - | pointeurs vers les tableaux potentiellement terminés par un caractère nul à comparer |
| count | - | nombre maximum de caractères à comparer |
Valeur de retour
Valeur négative si lhs apparaît avant rhs dans l'ordre lexicographique.
Zéro si lhs et rhs sont égaux, ou si count est zéro.
Valeur positive si lhs apparaît après rhs dans l'ordre lexicographique.
Notes
Cette fonction n'est pas sensible aux paramètres régionaux, contrairement à std::strcoll et std::strxfrm .
Exemple
#include <cstring> #include <iostream> void demo(const char* lhs, const char* rhs, int sz) { const int rc = std::strncmp(lhs, rhs, sz); if (rc < 0) std::cout << "First " << sz << " chars of [" << lhs << "] precede [" << rhs << "]\n"; else if (rc > 0) std::cout << "First " << sz << " chars of [" << lhs << "] follow [" << rhs << "]\n"; else std::cout << "First " << sz << " chars of [" << lhs << "] equal [" << rhs << "]\n"; } int main() { demo("Hello, world!", "Hello, everybody!", 13); demo("Hello, everybody!", "Hello, world!", 13); demo("Hello, everybody!", "Hello, world!", 7); demo("Hello, everybody!" + 12, "Hello, somebody!" + 11, 5); }
Sortie :
First 13 chars of [Hello, world!] follow [Hello, everybody!] First 13 chars of [Hello, everybody!] precede [Hello, world!] First 7 chars of [Hello, everybody!] equal [Hello, world!] First 5 chars of [body!] equal [body!]
Voir aussi
|
compare deux chaînes de caractères
(fonction) |
|
|
compare un certain nombre de caractères de deux chaînes larges
(fonction) |
|
|
compare deux tampons
(fonction) |
|
|
compare deux chaînes conformément à la locale actuelle
(fonction) |
|
|
Documentation C
pour
strncmp
|
|