A função memcmp () em C ++ compara um número especificado de caracteres de dois objetos de ponteiro
protótipo memcmp ()
int memcmp (const void * lhs, const void * rhs, size_t count);
A memcmp()
função leva três argumentos: lhs, rhs e contagem. Esta função primeiro interpreta os objetos apontados por lhs e rhs como arrays de unsigned char
. Em seguida, ele compara os caracteres da primeira contagem de lhs e rhs lexicograficamente.
É definido no arquivo de cabeçalho "> arquivo de cabeçalho.
Parâmetros memcmp ()
lhs and rhs
: Ponteiro para os objetos de memória a serem comparados.count
: Número máximo de bytes para comparar.
memcmp () Valor de retorno
A função memcmp () retorna um:
- valor positivo se o primeiro byte diferente em
lhs
for maior do que o byte correspondente emrhs
. - valor negativo se o primeiro byte diferente em
lhs
for menor que o byte correspondente emrhs
. - 0 se os primeiros bytes de contagem de
lhs
erhs
forem iguais.
Exemplo: como funciona a função memcmp ()
#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() = "Hello World!"; char rhs() = "Hello Earth!"; int result; result = memcmp(lhs, rhs, 5); display(lhs, rhs, result, 5); result = memcmp(lhs, rhs, 7); display(lhs, rhs, result, 7); return 0; )
Quando você executa o programa, a saída será:
Os primeiros 5 caracteres de Hello World! e Hello Earth! são os mesmos Hello Earth! precede Hello World!