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; }
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; }
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