C++字符操作

1,596 阅读2分钟

启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第19天,点击查看活动详情

之前聊了c++的字符串对象,也就是string对象,但是不要忽略更小的元素字符,字符组成了字符串,C++对字符串也提供了很多关于字符串元素字符的操作。

这些方法被包含在了cctype头文件当中,在开始加载这个文件就可以使用这些方法了。

ASCII码表

ASCII(American Standard Code for Information Interchange:美国信息交换标准代码)码是一套编码标准。 计算机中都是以二进制存储和表示数据的,ASCII码定义了二进制与字符的对应规则。

其中:

0-31与127:控制字符或通信专用字符(不可显示);

32:空格;

48-57:数字;

65-122:大写和小写字母; 其余:标点、运算符号等。

至于ASCII对照表,由于内容太长,就不在这里展示啦,大家可以从网上找到。

字符方法

方法描述
isalnum(char)char是否是数字或字母,如果是返回真。
isalpha(char)char是否是字母,如果是返回真。
iscntrl(char)char是否是控制字符,如果是返回真。
isdigit(char)char是否是数字,如果是返回真。
isgraph(char)char是否是空格,如果是返回真。
islower(char)char是否是小写字母,如果是返回真。
isprint(char)char是否是可打印字符,如果是返回真。
isspace(char)char是否是空白字符,如果是返回真。
ispunct(char)char是否是标点符号,如果是返回真。
isupper(char)char是否是大写字母,如果是返回真。
isxdigit(char)char是否是十六进制数字,如果是返回真。
tolower(char)如果char是大写字符转换位小写字符,如果不是大写字符,就不变
toupper(char)如果char是小写字符转换位大写字符,如果不是小写字符,就不变

这里需要注意的是:

1、这些方法操作的是字符对象,不是字符串对象。

2、这些方法当中对字符的判断是基于ASCII码表的。

下面编写一个共性案例:

#include <iostream>
#include <string>
#include <cctype>

int main(){
   using namespace std;
   char str = 'h';
   bool v = isalnum(str);

   cout << str << endl;
   cout << v << endl;
   
   return 0;
}

关于c++字符操作今天就聊这么多,欢迎各位大佬指点。