该文章是对字符串以及字符操作函数做的一个归纳总结。
一什么是字符串操作函数
顾名思义,字符串函数就是对字符串进行各种操作的函数。
二 常见的字符串操作函数归纳
1 长度不受限制的字符串函数:
①strlen 用来统计‘\0’之前的字符的个数
size_t strlen ( const char * str );
②strcat:用于追加字符串
char * strcat ( char * destination, const char * source );
③strcpy:用于将源字符串拷贝到目标字符串中
char * strcpy ( char * destination, const char * source );
④strcmp:按照字典顺序逐个逐个比价字符串大小
int strcmp ( const char * str1, const char * str2 );
⑤strstr比较一个字符串是否是另一个字符串的子串
const char * strstr ( const char * str1, const char * str2 ); char * strstr ( char * str1, const char * str2 );
2 长度受限的字符串函数
①stncpy:字符串拷贝。但是可以指定拷贝多少个数字,如果目标空间小于指定拷贝的空间,用‘\0’补充
char * strncpy ( char * destination, const char * source, size_t num );
②strncat:追加指定长度的字符串。
char * strncat ( char * destination, const char * source, size_t num );
需要注意的是,实际上会追加num+1个字符。最后会增加'\0'
并且最多追加stc中所有的字符,如果不够并不会补充'\0'
③strcmp:用于比较长度为num的字符串的大小
int strncmp ( const char * str1, const char * str2, size_t num );
比较标准:到'\0'或者有相异的字符或者比较到num个结束。
3字符操作函数分类(注意是对单个字符进行操作)
1 头文件#include<ctype.h>
2 int ctype(int c)
3字符分类函数
isprint 字母数字标点符号空白字符
isgraph 字母数字标点符号
isalnum字母 + 数字
判断字母
isalpha是否是字母
isupper是否是大写字母
islower是否是小写字母
判断数字
isdigit是否是十进制数字
isxdigit是否是十六进制数字
其他图像空格等
iscntrl八进制以及177的字符
ispunct标点符号
isspace空白字符 TAB 换行 垂直TAB 换页 回车 空格
//在内存中都是以数字的形式进行存储的,判断的时候看是否属于该范围,如果不是的话就返回0 如果是的话返回任意非0的数字
接下来演示一下
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<ctype.h>
int main()
{
printf("%d\n", isxdigit('f'));//~0
printf("%d\n", isxdigit('1'));//~0需要注意十进制位数在十六进制中也可以储存
printf("%d\n", isxdigit('h'));//0
return 0;
}
字符转换函数
toupper转换为大写字母
tolower转换为小写字母
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<ctype.h>
int main()
{
printf("%c", toupper('a'));//A
printf("%c", tolower('A'));//a
return 0;
}