-3

我需要在特定位置的另一个字符串中插入一个字符串。这是一个简单的例子:

char *a = "Dany S.";
char *b = "My name is  *a , I come from ...  ";

b所以,代替*a我期望的字符串Dany S.

怎么做 ?

4

2 回答 2

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";
于 2013-08-23T21:45:32.633 回答
2

您可以使用 printf 即:

#include <stdio.h>
char *a = "Dany S.";
char *b = "My name is  %s , I come from ...  ";

printf(b, a);
于 2013-08-23T21:45:15.723 回答