1.unsigned int strlen (char *s)
strlen()用来计算指定的字符串s 的长度,不包括结束字符"\0"
E.g.char str[100] = "11111111111";
定义了一个大小为100的字符数组,但是仅有开始的11个字符被初始化了,剩下的都是0,所以 sizeof(str) 等于100,strlen(str) 等于11
2.int strcmp(const char *s1,const char *s2)
strcmp()用来比较两字符串中的字符是否一一相等,如果相等则返回0;如果不等,返回1或-1(由ascll码差值而定)
所以:当s1<s2时,返回为负数;当s1=s2时,返回值= 0;当s1>s2时,返回正数
E.g. char s1[10]={abcd}; char s2[10]={abcD}; (s1[3]!=s2[3]) return ((int)d-D==100-68 ) 32;
3.char *strcpy(char *dest, const char *src)
strcpy()用来复制字符串内容,将src复制到dest中,返回指向第一个数组的指针。(全覆盖,相当于重新赋值,不满则用NULL覆盖)
src也可以是一个字符串,用于给dest赋值
A.T. (1). 当dest非空串时,先清零dest再复制
** (2).dest容量必须>=src**
** (3). 当dest大于src时复制无非填满,以NULL相填**
4.char *strncpy(char *de st, const char *src, size_n)
strncpy()用来复制字符串内容,将src的前n个字符复制到dest的前n中,返回指向第一个数组的指针。
A.T. (1). 当dest大于src时复制无法填满,以原内容相补
** (2).如果dest不能放下src的前n个字符,则能放下几个放几个(结尾不会有NULL)**
5.char *strncmp(char *de st, const char *src, size_n)
strncmp():用于比较字符串str1和str2的前n个字符
如果相等则返回0;如果不等,返回第一个(假设是串中的第i个)不等的字符的字符的ASCLL码差值(s1[i]-s2[i])
所以:当s1<s2时,返回为负数;当s1=s2时,返回值= 0;当s1>s2时,返回正数
char s1[10]={abcd}; char s2[10]={abcD}; strncmp(s1,s2,1)==0;
只能比较数量相同的字符串
6.char *strcat(char *dest, const char *src)
strcat()用于 把 src 所指向的字符串追加到 dest 所指向的字符串的结尾(会覆盖NULL)
7.char *strncat(char *dest, const char *src, size_tn)
strncat()用于 把 src 字符串的前n个字符追加到 dest 字符串的结尾(会覆盖原NULL如果追加后还有地方,会自动添加NULL)
A.T.(1).当dest无法在多容纳n个字符时,则能追加多少加多少,会覆盖NULL并且不会自动添加新NULL
8.extern char *strlwr(char *s);
strlwr()用于将字符串s参数转换为小写形式
A.T.:只转换s参数中出现的大写字母,不改变其它字符
9.extern char *strupr(char *s);
strupr()用于将字符串s转换为大写形式
A.T.:只转换s参数中出现的小写字母,不改变其它字符
10.string substr ( size_t pos = 0, size_t n = npos )
substr()用于获取子字符串(俗称字符串截取函数)
例如:substr(a,b,c):在a串中从截取从b(含)到c(含)的字符串,返回这个子串,原串不会改变。