求字符串长度
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/Q89td
http://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个字节的空间的存储内容的大小