用c语言字符串的连接

用C语言实现学号与姓名的连接两个字符串连接,不用strcat

最简单的字符串的处理,直接申请内存后,用memset和memcpy进行处理:

img

int main(void)
{  
    const char* name = "myname";
    const char* stuid = "123";
    int len = strlen(name) + strlen(stuid);
    char* result = NULL;
    result = (char*)malloc(len + 1);
    if (result == NULL) return -1;
    memset(result, '\0', len + 1); //预留一个字符串终结符 \0
    //然后就是拼接了 用memcpy
    int pos = 0;
    memcpy(result + pos, stuid, strlen(stuid));
    pos += strlen(stuid);
    memcpy(result + pos, name, strlen(name));
    pos += strlen(name);
    printf("%s \n", result);
    if (result != NULL)
    {
        free(result);
        result = NULL;
    }
    return 0;
}