我需要在特定位置的另一个字符串中插入一个字符串。这是一个简单的例子:
char *a = "Dany S.";
char *b = "My name is *a , I come from ... ";
因此,在字符b
中代替*a
,我希望Dany S.
怎么做?
答案 0 :(得分:11)
最好/最简单的方法是使用标准C约定:
char *a = "Dany S.";
char *b = "My name is %s, I come from...";
char *c = malloc(strlen(a) + strlen(b));
sprintf( c, b, a );
然后c
包含您的新字符串。完成c
后,您需要释放内存:
free( c );
如果要在终止该行的输出中使用c
,则可以将b
声明为:
char *b = "My name is %s, I come from...\n";
答案 1 :(得分:2)
您可以使用printf,即:
#include <stdio.h>
char *a = "Dany S.";
char *b = "My name is %s , I come from ... ";
printf(b, a);