zoukankan      html  css  js  c++  java
  • C语言标准库函数学习字符处理

    字符处理

    字符分类函数

    Ps:返回值int非零数为真。

    #include<ctype.h>

    函数声明

    解释

    Int isalnum(int c);

    是否为数字或字母【1..a..A..

    Int isalpha(int c);

    是否为字母【a..A..

    Int iscntrl(int c);

    是否为控制字符【ASCII 0-31



    Int islower(int c);

    是否为小写字母【你懂得】

    Int issupper(int c);

    是否为大写字母【你也懂得】



    Int isdigit(int c);

    是否为10个十进制数字之一【1..

    Int isxdigit(int c);

    是否为16个十六进制数字之一【1--f



    Int isprint(int c);

    是否为打印字符【除控制字符】

    Int isgraph(int c);

    是否为图形字符【除控制字符&空格】

    Int ispunct(int c);

    是否为标点字符【除控制字符&空格&数字&字母】



    Int isspace(int c);

    是否为单词分隔符={’ ’ , ’ ’}

    Int isblank(int c);

    是否为空白字符={制表 ’,回车 ’,换行 ’,垂直制表v’,换页f’,空格’ ’}


    转换函数

    #include<ctype.h>

    函数声明

    返回值

    解释

    Int tolower(int c);

    小写字母

    转换成小写,非字母返回原值

    Int toupper(int c);

    大写字母

    转换成大写,非字母返回原值



    字符串处理

    字符串追加

    #include<string.h>

    Char* strcat(char* dest, const char* src);

    src追加在dest

    Char* strncat(char* dest, conse char* src, size_t n);

    将指定的srcn个字符追加到dest后,若n>strlen(src),则复制到null为止。若追加字符不含null,则在最后追加一个。

    Ps:确保dest中有足够的空间来放置追加字符,包括null也要占用一个字节。(

    Ps2:介绍最后有这么一句:如果两个参数字符串在内存中重叠,这些函数的行为是未定义的。


    字符串比较函数

    #include<string.h>

    Int strcmp(const char* s1,conse char* s2);

    按照字典顺序比较两组字符

    Int strncmp(const char* s1,conse char* s2,size_t n);

    同上,指定长度

    Ps:返回值为0说明两字符串相同,正负也代表不同含义。

    Ps2:关于字符串不等的情况,举个栗子:

    1str1=”abc”, str2=”abd”; 比较结果是str1 < str2,返回一个小于0的数。

    2str1=”abc”, str2=”abcd”; 比较结果是str1 < str2,返回一个小于0的数。

    3)请结合字典和以上两个栗子理解“按字典顺序比较”。


    字符串复制函数

    #include<string.h>

    Char* strcpy(char* dest, const char* src);

    复制src的完整内容到dest,即使空间不足。

    Char* strncpy(char* dest, conse char* src, size_t n);

    将指定的srcn个字符复制到dest后,若n>strlen(src),则复制到null为止,并用null将数量补全到n即使复制字符不含null,也不会追加。

    Ps:确保dest中有足够的空间来放置追加字符,包括null也要占用一个字节。(


    字符串长度统计函数

    #include<string.h>

    Size_t strlen(const char* s);

    返回字符串长度,以到null为准


    字符串搜索函数

    #include<string.h>

    Char* strchr(const char* s, int c);

    返回第一个出现该字符处的指针

    Char* strrchr(const char*s, int c);

    返回最后一个出现该字符处的指针

    Ps:理论上返回一个非const的指针,但实际是和传入的参数相同的。


    #include<string.h>

    Size_t strspn(const char* s, const char* set);

    返回set中所含字符的第一次出现,若没有出现则返回串s的长度,若set为空则返回0

    Size_t strcspn(const char* s, const char* set);

    返回set中所含字符的第一次出现的位置。

    Char* strpbrk(const char* s, const char* set):

    strcspn相似,但返回的是该处开始的字符串指针


    #inlcude<string.h>

    Char* strstr(const char* src, const char* sub);

    搜索子串subsrc中的第一次出现,并返回串指针



    #include<string.h>

    Char *strtok(char* str, const char* set);

    非常特别的一个函数,下面会用一个例子来解释用途。请自己体会。


  • 相关阅读:
    网络编程学习小结
    我的学习笔记_Windows_HOOK编程 2009-12-03 11:19
    void及void指针含义的深刻解析
    Android开发之自己定义TabHost文字及背景(源码分享)
    ActionBar自己定义改动无效解决方法
    一位Erlang程序猿的自白
    Xcode 5.1安装插件:规范凝视生成器VVDocumenter
    Socket程序中的Error#10054错误
    CSDN博客清理缓存
    ACM 位运算
  • 原文地址:https://www.cnblogs.com/fistao/p/3223119.html
Copyright © 2011-2022 走看看