在我们平常写C语言题时,常常会遇到关于字符串问题。下面我介绍一些关于字符串的常用函数(头文件都是string)
目录
strlen
size_t strlen(const char* str);
这个函数是来求字符串长度。给它一个地址它会一直向后读,直到遇到'\0'停下来,且返回的值是无符号整型。
应用:
strcpy
char* strcpy(char* destination, const char* source );
这个函数是用来复制字符串的。source的内容会被复制到destination中。遇到'\0'停止,并且source的'\0'也会被复制进来。
应用:
strcat
char* strcat(char* destination, const char* source );
这个函数是用来拼接字符串的。将source中的内容拼在destination里。source会在destination的´\0´开始拼接,且遇到source的´\0´停止。
应用:
strcmp
int strcmp ( const char * str1, const char * str2 );
这个函数是用来比较字符串的大小。(如果str1大于str2则返回大于0的数,小于返回小于0的数,等于返回0)
应用:
(在VS上大于返回1小于返回-1)
接下来介绍的三个函数和上面介绍的三个很像,它们只是相对于上面来说多了一个范围。
strncpy
char * strncpy ( char * destination, const char * source, size_t num );
num表示字节数,其它和strcpy一样。
应用:
strncat
char * strncat ( char * destination, const char * source, size_t num );
num表示字节数,其它和strcat一样。
应用:
strncmp
int strncmp ( const char * str1, const char * str2, size_t num );
num表示字节数,其它和strcmp一样。
strstr
const char * strstr ( const char * str1, const char * str2 );
这个函数是用来返回字符串str1中第一次出现字符串str2的的位置。字符串比较匹配不包含´\0´,以´\0´结束。
strtok
char * strtok ( char * str, const char * delimiters );
这个函数是用来分割字符串的。str中它包含了0个或者多个由delimiters字符串中一个或者多个分隔符分割的标记,当找到str中的一个标记时,将它用 ‘\0’ 结尾,返回一个指向这个标记的指针。下次用时直接用空指针。当字符串中不存在标记时返回空指针。
应用:
如果存在错误地方请及时指出,如果还有什么不懂的地方可以私信我,如果觉得不错那就点点赞吧!