在线文档教程
C++
本土化 | Localizations

std::ctype<char>::scan_is

STD::Ctype<char>*扫描[医]是

Defined in header
const char* scan_is (mask m, const char* beg, const char* end) const;(1)

定位字符数组中的第一个字符。[beg, end)满足分类掩码的m,也就是第一个角色c使...table()[(unsigned char) c] & m会回来true...

如果(unsignedchar)c >=std::ctype<char>::table_size,则替换一个实现定义的值,而不是table()[(unsigned char)c]的值不同,可能会有所不同。c...

参数

m-mask to search for
beg-pointer to the first character in an array of characters to search
end-one past the end pointer for the array of characters to search

返回值

中的第一个字符的指针。[beg, end)满足面具,或者end如果没有找到这样的角色。

注记

与主模板不同std::ctype,此专门化在对字符进行分类时不执行虚拟函数调用。要自定义行为,派生类可以向基类构造函数提供非默认的分类表。

二次

#include <locale> #include <iostream> #include <iterator> int main() { auto& f = std::use_facet<std::ctype<char>>(std::locale("") // skip until the first letter char s1[] = " \t\t\n Test"; const char* p1 = f.scan_is(std::ctype_base::alpha, std::begin(s1), std::end(s1) std::cout << "'" << p1 << "'\n"; // skip until the first letter char s2[] = "123456789abcd"; const char* p2 = f.scan_is(std::ctype_base::alpha, std::begin(s2), std::end(s2) std::cout << "'" << p2 << "'\n"; }

二次

产出:

二次

'Test' 'abcd'

二次

另见

do_scan_is virtuallocates the first character in a sequence that conforms to given classification (virtual protected member function of std::ctype)
scan_notlocates the first character in a sequence that fails given classification, using the classification table (public member function)

© cppreference.com

在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。

http://en.cppreference.com/w/cpp/locale/ctype[医]查/扫描[医]是