文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>c++ string 对象中字符的处理

c++ string 对象中字符的处理

时间:2010-12-22  来源:lovecreat

3.2.4. string 对象中字符的处理 我们经常要对 string 对象中的单个字符进行处理,例如,通常需要知道某 个特殊字符是否为空白字符、字母或数字。表 3.3 列出了各种字符操作函数, 适用于 string 对象的字符(或其他任何 char 值)。这些函数都在 cctype 头 文件中定义。 表 3.3. cctype 中的函数 isalnum(c) 如果 c 是字母或数字,则为 True。 isalpha(c) 如果 c 是字母,则为 true。 iscntrl(c) 如果 c 是控制字符,则为 true isdigit(c) 如果 c 是数字,则为 true。 isgraph(c) 如果 c 不是空格,但可打印,则为 true。 islower(c) 如果 c 是小写字母,则为 true。 isprint(c) 如果 c 是可打印的字符,则为 true。 ispunct(c) 如果 c 是标点符号,则 true。 isspace(c) 如果 c 是空白字符,则为 true。 isupper(c) 如果 c 是大写字母,则 true。 isxdigit(c) 如果是 c 十六进制数,则为 true。 tolower(c) 如果 c 大写字母,返回其小写字母形式,否则直接返回 c。 toupper(c) 如果 c 是小写字母,则返回其大写字母形式,否则直接返回 c。 125 表中的大部分函数是测试一个给定的字符是否符合条件,并返回一 个 int 作为真值。 如果测试失败, 则该函数返回 0 , 否则返回一个 (无意义的) 非 0 ,表示被测字符符合条件。 表中的这些函数,可打印的字符是指那些可以表示的字符,空白字符则是空 格、制表符、垂直制表符、回车符、换行符和进纸符中的任意一种;标点符号则 是除了数字、字母或(可打印的)空白字符(如空格)以外的其他可打印字符。 这里给出一个例子,运用这些函数输出一给定 string 对象中标点符号的个 数: string s("Hello World!!!"); string::size_type punct_cnt = 0; // count number of punctuation characters in s for (string::size_type index = 0; index != s.size(); ++index) if (ispunct(s[index])) ++punct_cnt; cout << punct_cnt << " punctuation characters in " << s << endl; 这个程序的输出结果是: 3 punctuation characters in Hello World!!! 和返回真值的函数不同的是,tolower 和 toupper 函数返回的是字符,返 回实参字符本身或返回该字符相应的大小写字符。我们可以用 tolower 函数 把 string 对象 s 中的字母改为小写字母,程序如下: // convert s to lowercase for (string::size_type index = 0; index != s.size(); ++index) s[index] = tolower(s[index]); cout << s << endl; 得到的结果为: hello world!!!
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载