función wcsncmp() en C/C++

La función wcsncmp() en C/C++ compara caracteres de dos strings anchas. La comparación se hace lexicográficamente. Esta función toma tres argumentos lhs , rhs y count . Compara los contenidos de lhs y rhs lexicográficamente hasta un máximo de caracteres de conteo ancho.

Nota: El comportamiento de wcsncmp() no está definido si lhs o rhs no apuntan a strings anchas terminadas en nulo.

Sintaxis:

int wcsncmp( const wchar_t* lhs, const wchar_t* rhs, size_t count )

Parámetro: La función acepta tres parámetros obligatorios que se describen a continuación:

  • lhs : String a comparar
  • rhs: string a comparar
  • count : Número máximo de caracteres para comparar

Valor de retorno: la función devuelve tres valores como se muestra a continuación:

  • Valor positivo: si el primer carácter diferente en lhs es mayor que el carácter correspondiente en rhs.
  • Valor negativo: si el primer carácter diferente en lhs es menor que el carácter correspondiente en rhs.
  • Cero: si los caracteres comparados en ambas strings forman la misma string.

Los siguientes programas ilustran la función anterior:
Programa 1:

// C++ program to illustrate the
// wcsncmp() function
#include <bits/stdc++.h>
using namespace std;
  
// function to compare two strings
void check(wchar_t* lhs, wchar_t* rhs, int count)
{
    int result;
    // compare lhs and rhs by wcsncmp
    result = wcsncmp(lhs, rhs, count);
  
    // print, as per result
    if (result < 0)
        wcout << lhs << " precedes " << rhs << "\n";
    else if (result > 0)
        wcout << rhs << " precedes " << lhs << "\n";
    else
        wcout << L"First " << count << L" characters of "
              << L" are same"
              << "\n";
}
  
// Driver code
int main()
{
    // initialize two strings lhs and rhs to compare
    wchar_t lhs[] = L"geekforgeeks";
    wchar_t rhs[] = L"geekGgeek";
  
    // check till 4th characters and till 7th characters
    check(lhs, rhs, 4);
    check(lhs, rhs, 7);
  
    return 0;
}
Producción:

First 4 characters of  are same
geekGgeek precedes geekforgeeks

Programa 2:

// C++ program to illustrate the
// wcsncmp() function
#include <bits/stdc++.h>
using namespace std;
  
// function to compare two strings
void check(wchar_t* lhs, wchar_t* rhs, int count)
{
    int result;
    // compare lhs and rhs by wcsncmp
    result = wcsncmp(lhs, rhs, count);
  
    // print, as per result
    if (result < 0)
        wcout << lhs << " precedes " << rhs << "\n";
    else if (result > 0)
        wcout << rhs << " precedes " << lhs << "\n";
    else
        wcout << L"First " << count << L" characters of "
              << L" are same"
              << "\n";
}
  
// Driver code
int main()
{
    // initialize two strings lhs and rhs to compare
    wchar_t lhs[] = L"01234GFG";
    wchar_t rhs[] = L"01234GFG";
  
    // check till 5th character
    // and again till 8th character
    check(lhs, rhs, 5);
    check(lhs, rhs, 8);
  
    return 0;
}
Producción:

First 5 characters of  are same
First 8 characters of  are same

Publicación traducida automáticamente

Artículo escrito por AmanSrivastava1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *