std::ispunct<div class="t-tr-text">(std :: locale的)<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 谷歌翻译]机器翻译。<br/>你可以帮忙校正和验证翻译。点击[[Cppreference:MachineTranslations|此处]]查看指示。</div></div></div></div></div>

来自cppreference.com
< cpp‎ | locale

定义于头文件 <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.
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

目录

[编辑] 参数

ch -
字符
原文:
character
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
loc -
语言环境
原文:
locale
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

[编辑] 返回值

返回true如果字符被列为标点符号,,false否则.
原文:
Returns true if the character is classified as punctuation, false otherwise.
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

[编辑] 可能的实现

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).
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

#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

[编辑] 另请参阅

检查字符是否为标点符
(函数) [编辑]
检查宽字符是否为标点字符
(函数) [编辑]