C++预定义字符函数

利用 get 成员函数可读取文件中的一切字符,包括空白字符、文件结尾。
用 >> 读取文件,会自动忽略空白字符(空格、换行符、制表符)

C++ 预定义的字符函数(均在 cctype 库中定义):
toupper(Char_type)  返回 Char_type 的大写形式
tolower(Char_type)  返回 Char_type 的小写形式
isupper(Char_type)  若 Char_type 为大写,则返回真
islower(Char_type)  若 Char_type 为小写,则返回真
isalpha(Char_type)  若 Char_type 为字母,则返回真
isdigit(Char_type)  若 Char_type 为 '0'-'9' 数字,则返回真
isspace(Char_type)  若 Char_type 为空白字符(空格、换行符),返回真

 

例如:下例代码为读取以 '.' 结尾的句子,然后将所有空格替换成 '-' 显示

1 char ch;
2 do{
3     cin.get(ch);
4     if( isspace(ch) )
5         cout << '-';
6     else
7         cout << ch;
8 }while(ch != '.');

注意:由于计算机存储字符都是存储其ASCII码,为数字形式,再加上C++输出流 cout 自动识别类型,所以,下例会输出数字,而非字符:

1 cout << toupper('a');

要想输出字符,可采用如下两种方式:
一:用强制类型转换

static_cast<char>( toupper('a') );

二:用字符变量接收 toupper 的值,然后输出:

1  char ch = toupper('a');
2  cout << ch;

 

posted @ 2016-01-14 10:18  goodhx  阅读(595)  评论(0编辑  收藏  举报