一、介绍
本文将主要介绍字符串处理库函数中的strlen、strcpy、strcat、strcmp、atoi等,主要由<string.h>头文件提供。
二、strlen函数:求字符串的长度
strlen |
|
头文件 |
#include<string.h> |
原型 |
size_t strlen(const char *s) |
说明 |
求出s指向的字符串的长度(不包括null字符)。 |
返回值 |
返回s指向的字符串的长度。 |
size_t strlen(const char *s) { size_t len = 0; while(*s++) len++; return len; }
二、strcpy和strncpy函数:复制字符串
strcpy |
|
头文件 |
#include<string.h> |
原型 |
char *strcpy(char *s1,const char *s2); |
说明 |
将s2指向的字符串复制到s1指向的数组中。若s1和s2指向的内存空间重叠,则作未定义处理。 |
返回值 |
返回s1的值。 |
strncpy |
|
头文件 |
#include<string.h> |
原型 |
char *strncpy(char *s1,const char *s2,size_t n); |
说明 |
将s2指向的字符串复制到s1指向的数组中。若s2的长度大于等于n,则复制到第n个字符为止。否则用null字符填充剩余部分。若s1和s2指向的内存空间重叠,则作未定义处理。 |
返回值 |
返回s1的值。 |
char *strcpy(char *s1,const char *s2) { char *tmp = s1; while(*s1++ = *s2++) ; return tmp; } char *strncpy(char *s1,const char *s2,size_t n) { char *tmp = s1; while(n){ if(!(*s1++ = *s2++)) break; //遇到' '就结束循环 n--; } while(n--) *s1++ = '