Этот сайт использует cookies. Продолжение работы с сайтом означает, что Вы согласны!
Поиск и замена в L-строке
Для поиска и замены в L-строке предназначены следующие функции:
wcschr()
— ищет в L-строкеstr
первое вхождение символаch
. В качестве значения функция возвращает указатель на первый найденный символ в L-строкеstr
или нулевой указатель, если символ не найден. Прототипы функции:
#include <cwchar> /* или #include <cstring> */
wchar_t *wcschr(wchar_t *str, wchar_t ch);
const wchar_t *wcschr(const wchar_t *str, wchar_t ch);
Пример использования функции:
_wsetlocale(LC_ALL, L"Russian_Russia.1251");
wchar_t str[] = L"строка строка", *p = nullptr;
p = std::wcschr(str, L'к');
if (p) {
std::wcout << L"Индекс: " << p - str << std::endl;
} // Индекс: 4
wcsrchr()
— ищет в L-строкеstr
последнее вхождение символаch
. В качестве значения функция возвращает указатель на символ или нулевой указатель, если символ не найден. Прототипы функции:
#include <cwchar> /* или #include <cstring> */
wchar_t *wcsrchr(wchar_t *str, wchar_t ch);
const wchar_t *wcsrchr(const wchar_t *str, wchar_t ch);
Пример:
_wsetlocale(LC_ALL, L"Russian_Russia.1251");
wchar_t str[] = L"строка строка", *p = nullptr;
p = std::wcsrchr(str, L'к');
if (p) {
std::wcout << L"Индекс: " << p - str << std::endl;
} // Индекс: 11
wmemchr()
— ищет в L-строкеstr
первое вхождение символаch
. Максимально просматриваетсяmaxCount
символов. В качестве значения функция возвращает указатель на первый найденный символ в строкеstr
или нулевой указатель, если символ не найден. Прототипы функции:
#include <cwchar>
wchar_t *wmemchr(wchar_t *str, wchar_t ch,
size_t maxCount);
const wchar_t *wmemchr(const wchar_t *str, wchar_t ch,
size_t maxCount);
Пример:
_wsetlocale(LC_ALL, L"Russian_Russia.1251");
wchar_t str[] = L"строка строка", *p = nullptr;
p = std::wmemchr(str, L'к', std::wcslen(str));
if (p) {
std::wcout << L"Индекс: " << p - str << std::endl;
} // Индекс: 4
wcspbrk()
— ищет в L-строкеstr
первое вхождение одного из символов (нулевой символ не учитывается), входящих в L-строкуcontrol
. В качестве значения функция возвращает указатель на первый найденный символ или нулевой указатель, если символы не найдены. Прототипы функции:
#include <cwchar> /* или #include <cstring> */
wchar_t *wcspbrk(wchar_t *str, const wchar_t *control);
const wchar_t *wcspbrk(const wchar_t *str,
const wchar_t *control);
Пример:
_wsetlocale(LC_ALL, L"Russian_Russia.1251");
wchar_t str[] = L"строка строка", *p = nullptr;
p = std::wcspbrk(str, L"кр");
if (p) {
std::wcout << L"Индекс: " << p - str << std::endl;
} // Индекс: 2 (индекс первой буквы "р")
wcscspn()
— возвращает индекс первого символа в L-строкеstr
, который совпадает с одним из символов, входящих в L-строкуcontrol
. Прототип функции:
#include <cwchar> /* или #include <cstring> */
size_t wcscspn(const wchar_t *str, const wchar_t *control);
Пример:
_wsetlocale(LC_ALL, L"Russian_Russia.1251");
wchar_t str[] = L"строка строка";
size_t index = std::wcscspn(str, L"кр");
std::wcout << L"Индекс: " << index << std::endl;
// Индекс: 2 (индекс первой буквы "р")
index = std::wcscspn(str, L"ф");
std::wcout << L"Индекс: " << index << std::endl;
// Индекс: 13 (длина строки, если ничего не найдено)
wcsspn()
— возвращает индекс первого символа в L-строкеstr
, который не совпадает ни с одним из символов, входящих в L-строкуcontrol
. Прототип функции:
#include <cwchar> /* или #include <cstring> */
size_t wcsspn(const wchar_t *str, const wchar_t *control);
Пример:
_wsetlocale(LC_ALL, L"Russian_Russia.1251");
wchar_t str[] = L"строка строка";
size_t index = std::wcsspn(str, L"окстр");
std::wcout << L"Индекс: " << index << std::endl;
// Индекс: 5 ("а" не входит в "окстр")
wcsstr()
— ищет в L-строкеstr
первое вхождение целого фрагмента из L-строкиsubStr
. В качестве значения функция возвращает указатель на первое вхождение фрагмента в строку или нулевой указатель — в противном случае. Прототипы функции:
#include <cwchar> /* или #include <cstring> */
wchar_t *wcsstr(wchar_t *str, const wchar_t *subStr);
const wchar_t *wcsstr(const wchar_t *str, const wchar_t *subStr);
Пример:
_wsetlocale(LC_ALL, L"Russian_Russia.1251");
wchar_t str[] = L"строка строка", *p = nullptr;
p = std::wcsstr(str, L"ока");
if (p) {
std::wcout << L"Индекс: " << p - str << std::endl;
} // Индекс: 3
_wcsset()
— заменяет все символы в L-строкеstr
указанным символомch
. Функция возвращает указатель на строкуstr
. Прототип функции:
#include <cwchar> /* или #include <cstring> */
wchar_t *_wcsset(wchar_t *str, wchar_t ch);
Пример:
_wsetlocale(LC_ALL, L"Russian_Russia.1251");
wchar_t str[] = L"строка";
_wcsset(str, L'*');
std::wcout << L'\'' << str << L'\'' << std::endl; // '******'
Вместо функции _wcsset()
лучше использовать функцию _wcsset_s()
. Прототип функции:
#include <cwchar> /* или #include <cstring> */
errno_t _wcsset_s(wchar_t *str, size_t sizeInWords, wchar_t ch);
В параметре sizeInWords
указывается размер строки. Функция возвращает значение 0
, если операция успешно выполнена, или код ошибки. Пример:
_wsetlocale(LC_ALL, L"Russian_Russia.1251");
wchar_t str[10] = L"строка";
_wcsset_s(str, 10, L'*');
std::wcout << L'\'' << str << L'\'' << std::endl; // '******'
_wcsnset()
— заменяет первыеcount
символов в L-строкеstr
указанным символомch
. Функция возвращает указатель на строкуstr
. Прототип функции:
#include <cwchar> /* или #include <cstring> */
wchar_t *_wcsnset(wchar_t *str, wchar_t ch, size_t count);
Пример:
_wsetlocale(LC_ALL, L"Russian_Russia.1251");
wchar_t str[] = L"строка";
_wcsnset(str, L'*', 4);
std::wcout << L'\'' << str << L'\'' << std::endl; // '****ка'
Вместо функции _wcsnset()
лучше использовать функцию _wcsnset_s()
. Прототип функции:
#include <cwchar> /* или #include <cstring> */
errno_t _wcsnset_s(wchar_t *str, size_t strSizeInWords,
wchar_t ch, size_t count);
В параметре strSizeInWords
указывается размер строки. Функция возвращает значение 0
, если операция успешно выполнена, или код ошибки. Пример:
_wsetlocale(LC_ALL, L"Russian_Russia.1251");
wchar_t str[10] = L"строка";
_wcsnset_s(str, 10, L'*', 4);
std::wcout << L'\'' << str << L'\'' << std::endl; // '****ка'
wmemset()
— заменяет первыеcount
элементов массиваdest
символомch
. В качестве значения функция возвращает указатель на массивdest
. Прототип функции:
#include <cwchar>
wchar_t *wmemset(wchar_t *dest, wchar_t ch, size_t count);
Пример:
_wsetlocale(LC_ALL, L"Russian_Russia.1251");
wchar_t str[] = L"строка";
std::wmemset(str, L'*', 4);
std::wcout << L'\'' << str << L'\'' << std::endl; // '****ка'
_wcsrev()
— меняет порядок следования символов внутри L-строки на противоположный, как бы переворачивает строку. Функция возвращает указатель на строкуstr
. Прототип функции:
#include <cwchar> /* или #include <cstring> */
wchar_t *_wcsrev(wchar_t *str);
Пример:
_wsetlocale(LC_ALL, L"Russian_Russia.1251");
wchar_t str[] = L"строка";
_wcsrev(str);
std::wcout << str << std::endl; // акортс
_wcsupr()
— заменяет все буквы в L-строкеstr
соответствующими прописными буквами. Функция возвращает указатель на строкуstr
. Прототип функции:
#include <cwchar> /* или #include <cstring> */
wchar_t *_wcsupr(wchar_t *str);
Пример:
_wsetlocale(LC_ALL, L"Russian_Russia.1251");
wchar_t str[] = L"абвгдеёжзийклмнопрстуфхцчшщъыьэюя";
_wcsupr(str);
std::wcout << str << std::endl;
// АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ
Вместо функции _wcsupr()
лучше использовать функцию _wcsupr_s()
. Прототип функции:
#include <cwchar> /* или #include <cstring> */
errno_t _wcsupr_s(wchar_t *str, size_t sizeInWords);
В параметре sizeInWords
указывается размер строки. Функция возвращает значение 0
, если операция успешно выполнена, или код ошибки. Пример:
_wsetlocale(LC_ALL, L"Russian_Russia.1251");
wchar_t str[40] = L"абвгдеёжзийклмнопрстуфхцчшщъыьэюя";
_wcsupr_s(str, 40);
std::wcout << str << std::endl;
// АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ
_wcslwr()
— заменяет все буквы в L-строкеstr
соответствующими строчными буквами. Функция возвращает указатель на строкуstr
. Прототип функции:
#include <cwchar> /* или #include <cstring> */
wchar_t *_wcslwr(wchar_t *str);
Пример:
_wsetlocale(LC_ALL, L"Russian_Russia.1251");
wchar_t str[] = L"АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";
_wcslwr(str);
std::wcout << str << std::endl;
// абвгдеёжзийклмнопрстуфхцчшщъыьэюя
Вместо функции _wcslwr()
лучше использовать функцию _wcslwr_s()
. Прототип функции:
#include <cwchar> /* или #include <cstring> */
errno_t _wcslwr_s(wchar_t *str, size_t sizeInWords);
В параметре sizeInWords
указывается размер строки. Функция возвращает значение 0
, если операция успешно выполнена, или код ошибки. Пример:
_wsetlocale(LC_ALL, L"Russian_Russia.1251");
wchar_t str[40] = L"АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";
_wcslwr_s(str, 40);
std::wcout << str << std::endl;
// абвгдеёжзийклмнопрстуфхцчшщъыьэюя
Помощь сайту
ЮMoney (Yandex-деньги): 410011140483022
ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов