我使用strcat()连接两个字符串,如:

    #include <string.h>
    #include <stdio.h>

    int main(int argc, char *args[])
    {
       char *str1; // "456"
       char *str2; // "123"

       strcat(str1,str2);
       printf("%s",str1);
    }

我得到:
456123

但我需要第一个字符串开头的第二个字符串,比如:
123456

我该怎么做?

最佳答案

切换参数。但是您将在strcat(str2,str1);中得到结果字符串,如果您真的想在程序中进一步使用str2,可以将其设置为str1
但是,您需要适当地注意str1中可用的内存空间。
如果要更改str2,请执行以下操作

char *tmp = strdup(str1);

strcpy(str1, str2); //Put str2 or anyother string that you want at the begining
strcat(str1, tmp);  //concatenate previous str1

...
free(tmp); //free the memory

10-05 22:47
查看更多