进阶;字符函数,字符串函数和内存函数

求字符串长度

strlen

size_t strlen( const char *string );

        求字符串长度的;以\0为结束标志;返回size_t无符号类型;//自己实现

长度不受限制的字符串函数

strcpy        

char *strcpy( char *strDestination, const char *strSource )

        (目标  源;)复制;将原字符串给目标包括\0    及以前的字符串;原字符串要有\0;目标要够大能装下且能改;

strcat      

char *strcat( char *strDestination, const char *strSource );

        (目标,源);给追加写源字符串     源字符串必须以 '\0' 结束。 目标空间必须有足够的大,能容纳下源字符串的内容。 目标空间必须可修改。自己给自己加可能会崩溃因为最后的\0被覆盖会影响后续;

strcmp

int strcmp( const char *string1, const char *string2 );

        (字符串1,字符串2)字符串比较阿斯克码值不是长度;

第一个字符串大于第二个字符串,则返回大于0的数字

第一个字符串等于第二个字符串,则返回0

第一个字符串小于第二个字符串,则返回小于0的数字

长度受限制的字符串函数介绍

strncpy

char *strncpy( char *strDest, const char *strSource, size_t count );

        (目标,源,拷贝字符数)将n个字符赋给目标文件//源不够用·\0;

strncat 

 char *strncat( char *strDest, const char *strSource, size_t count );

        (目标,源,追加字符数)将n个字符数源给目标字符末尾加\0;不会因为追加数变大用\0补充;

strncmp 

 int strncmp( const char *string1, const char *string2, size_t count );

        (目标1,目标2,比较个数)比较1,和2的n个字符;

第一个字符串大于第二个字符串,则返回大于0的数字

第一个字符串等于第二个字符串,则返回0

第一个字符串小于第二个字符串,则返回小于0的数字

字符串查找

strstr

char *strstr( const char *string, const char *strCharSet );

(字符串1,字符串2)在1中找2;返回找到的首地址;找不到返回空;

strtok

char *strtok( char *strToken, const char *strDelimit );

char * strtok ( char * str, const char * sep );

(目标,分隔符);

strtok函数找到str中的下一个标记,并将其用 \0 结尾,返回一个指向这个标记的指针。(注: strtok函数会改变被操作的字符串,所以在使用strtok函数切分的字符串一般都是临时拷贝的内容 并且可修改。) strtok函数的第一个参数不为 NULL ,函数将找到str中第一个标记,strtok函数将保存它在字符串 中的位置。 strtok函数的第一个参数为 NULL ,函数将在同一个字符串中被保存的位置开始,查找下一个标 记。 如果字符串中不存在更多的标记,则返回 NULL 指针

//分部调用路径

//实际用

错误信息报告

strerror

char *strerror( int errnum );

(errno)  #include <errno>//必须包含的头文件

 printf ("Error opening file unexist.ent: %s\n",strerror(errno));

字符操作

1、iscntrl()
返回类型为int的iscntrl函数

格式:
int iscntrl(int c)
功能:判断是否是控制字符(任何控制字符)
int c:要检查的字符。
返回值:若返回值为非0数字,则为控制字符,若返回0,则不是控制字符。

在ASCⅡ码中,第0~32号及第127号(共34个)是控制字符或通讯专用字符,如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BS(退格)、BEL(振铃)等;通讯专用字符:SOH(文头)、EOT(文尾)、ACK(确认)
2、isspace()
返回类型为int的isspace函数

格式:
int isspace(int c)
功能:判断是否是空白字符(空格、换页/f、换行\n,回车\r,制表符\t或者垂直制表符\v)
int c:要检查的字符。
返回值:若返回值为非0数字,则为空白字符,若返回0,则不是空白字符。
3、isdigit()
返回类型为int的isdigit函数

格式:
int isdigit(int c)
功能:判断是否是十进制数字字符(0-9)
int c:要检查的字符。
返回值:若返回值为非0数字,则为十进制数字字符,若返回0,则不是十进制数字字符。
4、isxdigit()
返回类型为int的isxdigit函数

格式:
int isxdigit(int c)
功能:判断是否是十六进制数字字符(包括所有十进制数字,小写字母a-f,大写字母A-F)
int c:要检查的字符。
返回值:若返回值为非0数字,则为十六进制字符,若返回0,则不是控制字符。
5、islower()
返回类型为int的islower函数

格式:
int islower(int c)
功能:判断是否是小写字母(a-z)
int c:要检查的字符
返回值:若返回值为非0数字,则为小写字母字符,若返回0,则不是小写字母字符
6、isupper()
返回类型为int的isupper函数

格式:
int isupper(int c)
功能:判断是否是大写字母(A-Z)
int c:要检查的字符。
返回值:若返回值为非0数字,则为大写字母字符,若返回0,则不是大写字母字符。
7、isalpha()
返回类型为int的isalpha函数

格式:
int isalpha(int c)
功能:判断是否是字母字符(a-z或A-Z)
int c:要检查的字符。
返回值:返回值为非0数字则为控制字符,返回0则不是控制字符。
8、isalnum()
返回类型为int的isalnum函数

格式:
int isalnum(int c)
功能:判断是否是字母字符或者数字字符(a-z、A-Z、0-9)
int c:要检查的字符。
返回值:若返回值为非0数字,则为字母字符或数字字符,若返回0,则不是字母字符或数字字符。
9、ispunct()
返回类型为int的ispunct函数

格式:
int ispunct(int c)
功能:判断是否是标点符号字符(任何不属于数字或字母的图形字符)
int c:要检查的字符。
返回值:若返回值为非0数字,则为标点符号,若返回0,则不是标点符号。
10、isgraph()
返回类型为int的isgraph函数

格式:
int isgraph(int c)
功能:判断是否是图形字符(任何图形字符)
int c:要检查的字符。
返回值:若返回值为非0数字,则为图形字符,若返回0,则不是图形字符。
11、isprint()
返回类型为int的isprint函数

格式:
int isprint(int c)
功能:判断是否是可打印字符(包括图形字符和空白字符)
int c:要检查的字符。
返回值:若返回值为非0数字,则为可打印字符,若返回0,则不是可打印字符。
————————————————
本文为CSDN博主「法外狂徒 张三357」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_56011591/article/details/128719887

内存操作函数

http://t.csdnimg.cn/Q89tdicon-default.png?t=N7T8http://t.csdnimg.cn/Q89td

memcpy

void *memcpy( void *dest, const void *src, size_t count );

(目标内存,源内存,字节个数);内存拷贝将n个源内存给目标内存//不能自己给自己重叠拷贝(个别编译器能行)

memmove

void *memmove( void *dest, const void *src, size_t count );

(目标内存,源内存,字节个数)

memset

void *memset( void *dest, int c, size_t count );

(目标,字符,设置为)memset为内存设置函数,将目标空间dest前count个字节的内存空间的内容设置为c,按字节设置;

memcmp

int memcmp( const void *buf1, const void *buf2, size_t count );

(内存1,内存2,个数)比较两块内存空间ptr1和ptr2前num个字节的空间的存储内容的大小

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值