◐ Shell
clean mode source ↗

std::ispunct<div class="t-tr-text">(STD :: локаль)<div class="t-tr-dropdown"><div><div><div class="t-tr-dropdown-arrow-border"></div><div class="t-tr-dropdown-arrow"></div><div class="t-tr-dropdown-h">Оригинал:</div><div class="t-tr-dropdown-orig">(std::locale)</div><div class="t-tr-dropdown-notes">Текст был переведён автоматически используя [http://translate.google.com Переводчик Google].<br/> Вы можете проверить и исправить перевод. Для инструкций щёлкните [http://en.cppreference.com/w/Cppreference:MachineTranslations сюда].</div></div></div></div></div> — cppreference.com

Материал из cppreference.com

<metanoindex/>

<tbody> </tbody>

Определено в заголовочном файле <locale>

template< class charT > bool ispunct( charT ch, const locale& loc );

Проверяет, является ли данный символ классифицируется как знак препинания по std::ctype аспект данной локали.

Оригинал:

Checks if the given character is classified as an punctuation character by the given locale's std::ctype facet.

Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

Параметры

ch

характер

Оригинал:

character

Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

loc

локали

Оригинал:

locale

Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

Возвращаемое значение

Возврат true, если символ классифицируется как знаки препинания, false иначе.

Оригинал:

Returns true if the character is classified as punctuation, false otherwise.

Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

Возможная реализация

template< class charT >
bool ispunct( charT ch, const std::locale& loc ) {
    return std::use_facet<std::ctype<charT>>(loc).is(std::ctype_base::punct, ch);
}

Пример

Демонстрирует использование ispunct () с разных языков (OS-специфические) .

Оригинал:

Demonstrates the use of ispunct() with different locales (OS-specific).

Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

#include <iostream>
#include <locale>
int main()
{
    const wchar_t c = L'\u214b'; // upside-down ampersand

    std::locale loc1("C");
    std::cout << "ispunct('⅋', C locale) returned "
               << std::boolalpha << std::ispunct(c, loc1) << '\n';

    std::locale loc2("en_US.UTF-8");
    std::cout << "ispunct('⅋', Unicode locale) returned "
              << std::boolalpha << std::ispunct(c, loc2) << '\n';
}

Вывод:

isalpha('⅋', C locale) returned false
isalpha('⅋', Unicode locale) returned true

См. также