A função strcmp () em C ++ compara duas strings de terminação nula. A comparação é feita lexicograficamente.
protótipo strcmp ()
int strcmp (const char * lhs, const char * rhs);
A strcmp()
função leva dois argumentos: lhs e rhs. Ele compara o conteúdo de lhs e rhs lexicograficamente. O sinal do resultado é o sinal de diferença entre os primeiros pares de caracteres que diferem em lhs e rhs.
O comportamento de strcmp()
é 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 strcmp ()
lhs and rhs
: Ponteiro para as strings terminadas em null a serem comparadas.
strcmp () Valor de retorno
A função strcmp () 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 hs e rhs forem iguais.
Exemplo: como funciona a função strcmp ()
#include #include using namespace std; void display(char *lhs, char *rhs, int result) ( if(result> 0) cout << rhs << " precedes " << lhs << endl; else if (result < 0) cout << lhs << " precedes " << rhs << endl; else cout << lhs << " and " << rhs << " are same" << endl; ) int main() ( char lhs() = "Armstrong"; char rhs() = "Army"; int result; result = strcmp(lhs,rhs); display(lhs,rhs,result); result = strcmp(lhs,lhs); display(lhs,lhs,result); return 0; )
Quando você executa o programa, a saída será:
Armstrong precede Exército Armstrong e Armstrong são os mesmos