zoukankan      html  css  js  c++  java
  • 字符函数库

     一、

      C++从C语言中继承一个与字符相关的、非常方便的函数软件包,他可以简化诸如确定字符是否为大写字母‘数字、标点符号等工作,这些函数的原型在头文件cctype(老式的为ctype.h)中定义的。例如,如果ch是一个字母,则isalpha (ch) 将返回一个非零值,否则返回0.同样,如果ch是标点符号(如逗号或句号),函数ispunct (ch) 将返回true。 (这写函数的返回型为int,而不是bool,但通常bool转换让您能够将它们视为bool型)。

    例如:

     1 #include <iostream>
     2 #include <algorithm>
     3 #include <string>
     4 
     5 #include <cstdio>
     6 #include <cstdlib>
     7 #include <cstring>
     8 #include <climits>
     9 #include <cctype>
    10 
    11 typedef long long ll;
    12 using namespace std;
    13 
    14 int main () {
    15     char ch = 'a';
    16     cout << isalpha(ch) << endl;
    17     //判断字母,返回数字或者0
    18     ch = ',';
    19     if (ispunct(ch))
    20         cout << ispunct(ch) << " and " << (bool)ispunct(ch) << endl;
    21     return 0;
    22 }
    23 /*
    24 输出为:
    25 2
    26 16 and 1
    27 */
    View Code

    以下是对cctype软件包中的函数进行总结。有些系统可能没有表中列出来的一些函数,也可能还有一些在表中没有列出的函数:

    函数名称 返回值
    isalnum() 如果参数是字母数字,即字母或数字,该函数返回true
    isalpha() 如果参数是字母,该函数返回true
    isblank() 如果参数是空格或水平制表符,该函数返回true
    iscntrl() 如果参数是控制字符,该函数返回true
    isdigit() 如果参数是数字(0-9),该函数返回true
    isgraph() 如果参数是除空格之外的打印字符,该函数返回true
    islower() 如果参数是小写字母,该函数返回true
    isprint() 如果参数是打印字符(包括空格),该函数返回true
    ispunct() 如果参数是标点符号,该函数返回true
    isspace()

    如果参数是标准空白字符,如空格、进纸、换行符、

    回车、水平制表符或者垂直制表符,该函数返回true

    isupper() 如果参数是大写字母,该函数返回true
    isxdigit()  如果参数是十六进制的数字,即0-9、a-f、A-F,该函数返回true
    tolower()  如果参数是大写字符,则返回其小写,否则返回该参数
    toupper()

    如果参数是小写字母,则返回其大写,否则返回该参数

        函数中使用到的参数(无论是标点符号还是字符)仅限英文的。

    二、

      头文件climits定义了符号常量来表示类型的限制。如:INT_MAX表示类型int能够储存的最大值,对于windows7系统,为2147483647。编译器厂商提供给了climits文件,该文件指出了编译器中的值。例如,在使用16位int老系统中,climits文件将INT_MAX定义为32767。下表对该文件中定义的符号常量进行了总结:

    climits 中的符号常量 
    符号常量 表示
    CHAR_BIT char 的位数
    CHAR_MAX char 的最大值
    CHAR_MIN char 的最小值
    SCHAR_MAX signed char 的最大值
    SCHAR_MIN signed char 的最小值
    UCHAR_MAX unsigned char 的最大值
    SHRT_MAX short 的最大值
    SHRT_MIN short 的最小值
    USHRT_MAX unsigned short 的最大值
    INT_MAX int 的最大值
    INT _MIN int 的最小值
    UINT_MAX unsigned int 的最大值
    LONG_MAX long 的最大值
    LONG_MIN long 的最小值
    ULONG_MAX unsigned long 的最大值
    LLONG_MAX long long 的最大值
    LLONG_MIN long long 的最小值
    ULLONG_MAX unsigned long long 的最大值

      climits 文件中包含类似 #define INT_MAX 32767 这样的语句行,当然不会这样简单了,因为int的位数和电脑的位数有关系;类似的:sizeof()函数返回位数和电脑的位数也有关系.

      使用就比较简单了,直接当作一个常量使用就可以了,比如:int n = INT_MAX; 或者 cout << INT_MAX << endl;

      欢迎码友评论,一起探讨.

    <!--手写全文,转载请注明出处:http://www.cnblogs.com/Ddlm2wxm/p/5926317.html-->

  • 相关阅读:
    VS2010,VS2012,VS2013中,无法嵌入互操作类型“……”,请改用适用的接口的解决方法
    安装MySQL遇到的常见英文翻译
    IIS站点报拒绝访问Temporary ASP.NET Files的解决办法
    【教程】教你解决“Windows 资源保护找到了损坏文件但无法修复其中某些文件”的问题【转载】
    .net中使用XPath语言在xml中判断是否存在节点值的方法
    join 子句(C# 参考)
    sql:inner join,left join,right join,full join用法及区别
    xslt中substring 函数的用法
    如何查看mysql数据库表所使用的引擎(转载)
    FusionCharts 更新 chart data 数据
  • 原文地址:https://www.cnblogs.com/Ddlm2wxm/p/5926317.html
Copyright © 2011-2022 走看看