size_t strlen(const char *str)
计算字符串的有效长度【’\0’之前的字符个数,不包括’\0’】
strlen接收传入的字符串的首地址后开始遍历字符串,遇到第一个‘\0’就停止计算,返回计算长度
一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一
char* strcpy(char* destinatuon , const char* source)
将源字符串(函数参数2:source)全部拷贝到目标字符串(函数参数1:destinatuon)
包含头文件 string.h
源字符串(函数参数2:source)结尾必须要有’\0’
会将源字符串中的’\0’拷贝到目标空间。【以此作为字符串结束标志】
目标空间【函数参数1:destinatuon的空间】必须可修改。
目标空间必须足够大,以确保能存放源字符串。
strcpy将源字符串一个一个拷贝到目标字符串中,当遇到源字符串第一个‘\0’时就停止拷贝,并把源字符串的‘\0’也拷贝回目标字符串,最后返回目标字符串的首地址
一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一
char * strcat( char *destination, count char * source)
把源字符串连接目标字符串之后
strcat先遍历找到目标字符串的第一个‘\0’,再用源字符串的第一个字符将目标字符串的第一个‘\0’覆盖,
并让源字符串的字符一个一个连接在目标字符串之后
直到遇到源字符串的第一个‘\0’就停止连接,再将源字符串的‘\0’也连接在目标字符串末尾,作为连接成功后的字符串的结束标志
最后再返回源字符串的首地址
一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一
int strcmp ( const char * str1, const char * str2 );
比较两个字符串的大小
strcmp同时遍历str1和str2,一个一个地比较它们两个对印字符的大小,如果对应字符相等则比较下一个对对应的字符,只要比出大小就直接以这个比较的大小作为最终结果,返回正/负数/0
例
一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一
char * strncpy ( char * destination, const char * source, size_t num );
把源字符串的前num【函数参数3】个字符拷贝到目标字符串中。
如果num大于源字符串长度才会在拷贝之后加上‘\0’,小于则不会加‘\0’
strncpy将源字符串中的字符一个一个拷贝到目标字符串中
如果在拷贝 num 个字符之前找到源 字符串 字符串的末尾【即num大于源字符串的长度】,则 在此之后,目标字符串都用==’\0’填充,直到总共写入 num 个字符。
如果如果 源字符串(source) 的长度大于 num,则不会在目标字符串中追加 ‘\0’ 字符==
一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一
char * strncat ( char * destination, const char * source, size_t num );
将源字符串的前num个字符连接到目标字符串之后
strncat将源字符串的前num个字符连接在目标字符串之后,
如果源字符串的长度小于 num,则仅连接源字符串‘\0’ 之前的内容,并在连接的字符串末尾加‘\0’
如果源字符串的长度大于 num,则仅连接源字符串前num 个字符并在连接的字符串末尾加‘\0’
一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一
int strncmp ( const char * str1, const char * str2, size_t num );
让str1的前num个字符和str2前num个字符相比较,并得出结果
strncmp一对一对比较str1的前num个字符和str2前num个字符,如果这对字符相等就比较下一对,如果不相等就直接以这个比较结果作为最终结果
如果再比较到num对之前str1和str2中任意一个遇到了‘\0’,则只对比‘\0’之前的字符对,返回0【此时str1与str2相等】
如果一直比较到了第num对字符,则也返回0【此时str1与str2相等】
一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一
const char * strstr ( const char * str1, const char * str2 );
判断str2是不是str1的一部分【子串】
一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一
char * strtok ( char * str, const char * delimiters );
根据分割标记将字符串分割,并返回分割出的子串的首地址
strtok函数找到str中的下一 个标记,并将其用‘\0’结尾,返回一个指向这个标记的开头的指针。
strtok函数的第一 个参数不为时NULL,函数将找到str中第一个标记,strtok函数将保存它在字符串中的位置。
strtok函数的第一个参数为NULL ,函数将在同一个字符串中被保存的位置开始,查找下一个标记。
直到要分割子串的字符串中没有分割标记时,就返回NULL