我使用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