Рубрики

Функция wcsncmp () в C / C ++

Функция wcsncmp () в C / C ++ сравнивает символы двух широких строк. Сравнение сделано лексикографически. Эта функция принимает три аргумента: lhs , rhs и count . Он сравнивает содержание лх и рх лексикографически до максимального числа широких символов.

Примечание . Поведение wcsncmp () не определено, если ни lhs, ни rhs не указывают на широкие строки с нулевым символом в конце.

Синтаксис:

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

Параметр: функция принимает три обязательных параметра, которые описаны ниже:

  • lhs: строка для сравнения
  • rhs: строка для сравнения
  • количество: максимальное количество символов для сравнения

Возвращаемое значение: функция возвращает три значения, как показано ниже:

  • Положительное значение: если первый различающийся символ в lhs больше, чем соответствующий символ в rhs.
  • Отрицательное значение: если первый различающийся символ в lhs меньше соответствующего символа в rhs.
  • Ноль: если сравниваемые символы в обеих строках образуют одну и ту же строку.

Ниже программы иллюстрируют вышеуказанную функцию:
Программа 1:

// C ++ программа для иллюстрации
// функция wcsncmp ()
#include <bits/stdc++.h>

using namespace std;

  
// функция для сравнения двух строк

void check(wchar_t* lhs, wchar_t* rhs, int count)

{

    int result;

    // сравниваем lhs и rhs с помощью wcsncmp

    result = wcsncmp(lhs, rhs, count);

  

    // распечатать согласно результату

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

}

  
// Код драйвера

int main()

{

    // инициализируем две строки lhs и rhs для сравнения

    wchar_t lhs[] = L"geekforgeeks";

    wchar_t rhs[] = L"geekGgeek";

  

    // проверка до 4-х символов и до 7-х символов

    check(lhs, rhs, 4);

    check(lhs, rhs, 7);

  

    return 0;

}

Выход:

First 4 characters of  are same
geekGgeek precedes geekforgeeks

Программа 2:

// C ++ программа для иллюстрации
// функция wcsncmp ()
#include <bits/stdc++.h>

using namespace std;

  
// функция для сравнения двух строк

void check(wchar_t* lhs, wchar_t* rhs, int count)

{

    int result;

    // сравниваем lhs и rhs с помощью wcsncmp

    result = wcsncmp(lhs, rhs, count);

  

    // распечатать согласно результату

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

}

  
// Код драйвера

int main()

{

    // инициализируем две строки lhs и rhs для сравнения

    wchar_t lhs[] = L"01234GFG";

    wchar_t rhs[] = L"01234GFG";

  

    // проверка до 5-го символа

    // и снова до 8-го символа

    check(lhs, rhs, 5);

    check(lhs, rhs, 8);

  

    return 0;

}

Выход:

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

Рекомендуемые посты:

Функция wcsncmp () в C / C ++

0.00 (0%) 0 votes