专栏首页高级程序设计C语言中的字符处理
原创

C语言中的字符处理

1、数据类型

C语言中,提供的字符为 char,通常情况下,char 为 unsigned char,即无符号字符,表示单个字符,对于多个字符(字符串),C没有提供相应的类型进行处理,但可以采用字符数组或字符指针进行处理。

char cc,c1=’A’;

char str=”Hello,world!”;

char *ptrr=”Hello,world!”;

char *ptr;

ptr=(char *)malloc(sizeof(char)*100);

strcpy(ptr,”Hello,world!”);

C语言中的字符串操作不能进行直接赋值,应采用字符串处理函数进行处理。

2、单个字符

char cc=’A’;

cc++

cc=’A’+1;

以上两行的运算结果为 cc=’B’

单个字符,实际上就是对应于该字符的 ascii 值,因此,可以进行数学运算,并可以直接比较大小。

3、字符串

  • 字符串本身操作:长度、是否为空
  • 字符与字符串:查找、替换、删除
  • 字符串与字符串:查找、替换、删除

其操作根据字符串表示方法的不同(数组、指针),亦对应于两种操作方法,代码不同,结果相同。

4、字符串函数(C语言)

函数类别

函数名成及返回结果

字符串操作

strcpy(p,p1)复制字符串 strncpy(p,p1,n)复制指定长度字符串 strcat(p,p1)附加字符串 strncat(p,p1,n)附加指定长度字符串 strlen(p)取字符串长度 strcmp(p,p1)比较字符串 strcasecmp忽略大小写比较字符串 strncmp(p,p1,n)比较指定长度字符串 strchr(p,c)在字符串中查找指定字符 strrchr(p,c)在字符串中反向查找 strstr(p,p1)查找字符串 strpbrk(p,p1)以目标字符串的所有字符作为集合,在当前字符串查找该集合的任一元素 strspn(p,p1)以目标字符串的所有字符作为集合,在当前字符串查找不属于该集合的任一元素的偏移 strcspn(p,p1)以目标字符串的所有字符作为集合,在当前字符串查找属于该集合的任一元素的偏移,*具有指定长度的字符串处理函数在已处理的字符串之后填补零结尾符

字符串到数值类型的转换

strtod(p,ppend)从字符串p中转换double类型数值,并将后续的字符串指针存储到ppend指向的char*类型存储。 strtol(p,ppend,base)从字符串p中转换long类型整型数值,base显式设置转换的整型进制,设置为0以根据特定格式判断所用进制,0x,0X前缀以解释为十六进制格式整型,0前缀以解释为八进制格式整型 atoi(p)字符串转换到int整型 atof(p)字符串转换到double符点数 atol(p)字符串转换到long整型

字符检查

isalpha()检查是否为字母字符 isupper()检查是否为大写字母字符 islower()检查是否为小写字母字符 isdigit()检查是否为数字 isxdigit()检查是否为十六进制数字表示的有效字符 isspace()检查是否为空格类型字符 iscntrl()检查是否为控制字符 ispunct()检查是否为标点符号 isalnum()检查是否为字母和数字 isprint()检查是否是可打印字符 isgraph()检查是否是图形字符,等效于isalnum()|ispunct()

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • C语言中的字符串操作分析

    C语言中关于字符串的函数很多,并单独建立一个基于字符串操作的头文件,string.h。

    鲁郭大侠
  • C语言中基于“*”字符的打印程序分析

        *              ***          *****       *******   *********   *******      ...

    鲁郭大侠
  • 【示例】文件行统计分析

    以上程序在Turbo C环境下可直接编译运行。        在程序运行过程中,需要拥护输入一篇文章,文章结束请按ctrl+z,此时屏幕上出现 ^z,回车即可...

    鲁郭大侠
  • 字符串处理技巧

    1、快速统计字符串中每个字符出现的个数 hash表 2、求两个字符串公共的最长子串长度和子串 双重循环遍历找到长度,同时用二重指针保留住最长长度时候的指针位置 ...

    用户1215536
  • P3370 【模板】字符串哈希

    题目描述 如题,给定N个字符串(第i个字符串长度为Mi,字符串内包含数字、大小写字母,大小写敏感),请求出N个字符串中共有多少个不同的字符串。 友情提醒:如果真...

    attack
  • YAML 语言入门教程 转

    YAML 仍然是一门标记性语言,但为了强调这门语言以数据为中心,而不是以标记语言为中心。采用反向缩略语重新命名。

    wuweixiang
  • 总结了一些指针易出错的常见问题(三)

    指针与字符串 NULL和NUL区别:前者用来表示特殊的指针((void*)0),而NUL是一个char(\0),不可混用。   字符常量:单引号;字符串:双引...

    互联网金融打杂
  • 原 Web SCADA 电力接线图工控组态

    HT_hightopo
  • 解密回文——栈

    Zoctopus
  • 如何选择一份合适的数据科学工作

    原作者 Kirill Eremenko 编译 Mika 本文为 CDA 数据分析师原创作品,转载需授权 数据科学当之无愧是"21世纪最性感的工作"。本文我们介...

    CDA数据分析师

扫码关注云+社区

领取腾讯云代金券