//计算字符串实际长度
//strlen()函数:当遇到'\0'时,计算结束,'\0'不计入长度之内,如果你只定义没有给它赋初值,这个结果是不定的,它会从首地址一直找下去,直到遇到'\0'停止// char string[] = "I Love You!";// unsigned long len = strlen(string);// printf("len = %lu\n", len); //11// // string[2] = '\0';// unsigned long len1 = strlen(string);// printf("len1 = %lu\n", len1); //2//sizeof sizeof返回的是变量声明后所占的内存数,不是实际长度,此外sizeof不是函数,仅仅是一个操作符,strlen()是函数。//sizeof()返回的是unsigned long
//数组所占空间大小 = 数组元素个数 * sizeof(数组类型)
//字符串的拷贝 //strcpy(字符串1,字符串2); //把字符串2中从一个元素到一个'\0'(包括'\0')的字符串,拷贝到字符串1(CNG字符串1的第一个元素开始) //注意:如果做拷贝,字符串1应该足够大,否则会越界 char string[100] = "I Love"; char string1[10] = "You"; strcpy(string, string1); printf("%s\n", string); //you string1[1] = '\0'; printf("%s\n", string); //you //字符串的拼接 //strcat(字符串1,字符串2) //把字符串2从第一个元素到第一个'\0'(包括'\0')的字符串,拼接到字符串1的第一个'\0'(从'\0'开始)后面 //字符串一定要足够大// char string[100] = "I Love ";// char string1[10] = "You";// // string[3] = '\0';// // strcat(string, string1);// printf("%s ", string); //I LYou //字符串的比较 //strcmp(字符串1, 字符串2) //0:表示两个字符串相等 //用字符串1的每一个元素和字符串2对应的元素做比较(字符串1元素的ASICC值 - 对应字符串2元素的ASICC值),当比较的结果不为0时,结束,或者当两个字符串对应的元素都为'\0'时,结束.// char string[] = "iPhone 6A";//完全相同返回0// char string1[] = "iPhone 6B";//返回1// int result = strcmp(string, string1);// printf("%d", result); //-1