A função strncmp () em C ++ compara um número especificado de caracteres de duas strings de terminação nula. A comparação é feita lexicograficamente.
protótipo strncmp ()
int strncmp (const char * lhs, const char * rhs, size_t count);
A strncmp()
função leva dois argumentos: lhs, rhs e count. Ele compara o conteúdo de lhs e rhs lexicograficamente até um máximo de contagem de caracteres. O sinal do resultado é o sinal de diferença entre os primeiros pares de caracteres que diferem em lhs e rhs.
O comportamento de strncmp()
é indefinido se lhs ou rhs não apontam para strings com terminação nula.
É definido no arquivo de cabeçalho "> arquivo de cabeçalho.
Parâmetros strncmp ()
lhs and rhs
: Ponteiro para as strings terminadas em null a serem comparadas.count
: Número máximo de caracteres para comparar.
strncmp () Valor de retorno
A strncmp()
função retorna um:
- valor positivo se o primeiro caractere diferente em lhs for maior que o caractere correspondente em rhs.
- valor negativo se o primeiro caractere diferente em lhs for menor que o caractere correspondente em rhs.
- 0 se os primeiros caracteres de contagem de lhs e rhs forem iguais.
Exemplo: como funciona a função strncmp ()
#include #include 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; )
Quando você executa o programa, a saída será:
Os primeiros 3 personagens de Armstrong e Army são os mesmos Armstrong precede Army