strcpy,strlen, strcat, strcmp函数,strlen函数和sizeof的区别

 //计算字符串实际长度
        //strlen()函数:当遇到''时,计算结束,''不计入长度之内,如果你只定义没有给它赋初值,这个结果是不定的,它会从首地址一直找下去,直到遇到''停止
//    char string[] = "I Love You!";
//    unsigned long len = strlen(string);
//    printf("len = %lu ", len);  //11
//    
//    string[2] = '';
//    unsigned long len1 = strlen(string);
//    printf("len1 = %lu ", len1);    //2
//sizeof  sizeof返回的是变量声明后所占的内存数,不是实际长度,此外sizeof不是函数,仅仅是一个操作符,strlen()是函数。

//sizeof()返回的是unsigned long

 //数组所占空间大小 = 数组元素个数 * sizeof(数组类型)


        //字符串的拷贝
        //strcpy(字符串1,字符串2);
        //把字符串2中从一个元素到一个''(包括'')的字符串,拷贝到字符串1(CNG字符串1的第一个元素开始)
        //注意:如果做拷贝,字符串1应该足够大,否则会越界
    char string[100] = "I Love";
    char string1[10] = "You";
    
    strcpy(string, string1);
    printf("%s ", string);    //you
    
    
    string1[1] = '';
    printf("%s ", string);  //you
        //字符串的拼接
        //strcat(字符串1,字符串2)
        //把字符串2从第一个元素到第一个''(包括'')的字符串,拼接到字符串1的第一个''(从''开始)后面
        //字符串一定要足够大
//    char string[100] = "I Love ";
//    char string1[10] = "You";
//    
//    string[3] = '';
//    
//    strcat(string, string1);
//    printf("%s ", string);    //I LYou
    
        //字符串的比较
        //strcmp(字符串1, 字符串2)
        //0:表示两个字符串相等
        //用字符串1的每一个元素和字符串2对应的元素做比较(字符串1元素的ASICC值 - 对应字符串2元素的ASICC值),当比较的结果不为0时,结束,或者当两个字符串对应的元素都为''时,结束.
//    char string[] = "iPhone 6A";//完全相同返回0
//    char string1[] = "iPhone 6B";//返回1
//    int result = strcmp(string, string1);
//    printf("%d", result);    //-1

 
原文地址:https://www.cnblogs.com/tian-sun/p/4308232.html