strcpy,strlen, strcat, strcmp函数,strlen函数和sizeof的区别
//计算字符串实际长度
//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
posted on 2015-03-02 10:57 taiyang2014 阅读(333) 评论(0) 编辑 收藏 举报