1 求字符串的长度
运行结果: strlen(str1)=38,sizeof(str1)=4
strlen(str1)=45, sizeof(str1)=100
strlen(str1)=53, sizeof(str1)=5
如果字符的个数等于字符数组的大小,那么strlen()的返回值就无法确定了,
例如 char str[6] = "abcxyz"; strlen(str)的返回值将是不确定的。因为str的结尾不是0,strlen()会继续向后检索,
直到遇到'\0',而这些区域的内容是不确定的。
2 strcpy_s 字符串复制
strcpy_s(dest,strlen(str1)+1, str1);
dest 目标字符串
strlen(str1)+1 复制的长度
str1 复制的源字符串
strcpy不安全 vs 里面用strcpy_s 替代
3. strcat 在字符串尾拼接字符串
格式:strcat(目标字符串 ,源字符串) //
将源字符串连接到目标字符串的尾部格式:
strncat(目标字符串 ,源字符串,长度n)//将源字符串前n个连接到目标字符串的尾部
注:①被追加的目标字符串 需要有足够空间
②追加中 先去掉 目标字符串中的 \0 再进行追加将 源字符串中的\0也追加上
③有限追加注意:有限追加也会将\0追加
4 strcmp 比较函数
格式:strcmp(字符串 1,字符串 2)// 比较1与2
格式:strcmp(字符串 1,字符串 2,比较长度n) // 比较1与2前n个字符串
5 strchar
在字符串中查找字符的位置 strchr函数:
格式: strchar(字符串,‘字符’) // 失败返回空的值(UNLL)
注意 :①找汉字时格式 “ 汉字 ”,是双引号非单引号
② 字符使用单引号引起来
6 strstr
在字符串中查找另外字符串的位置 strstr函数:
格式 strstr(源字符串,“匹配字符串”)
注意: 匹配字符串使用双引号引起来
7 自己写的copy 函数
void copy(char * dest, char *source) {
int i = 0;
char *start = dest;
while (*dest!='\0')
{
source[i] = *dest;
printf("s=%c\n", *dest);
++i;
dest= start + i;
}
printf("i=%d\n", i);
source[i] = '\0';
printf("source=%s\n",source);
}