我需要在特定位置的另一个字符串中插入一个字符串。这是一个简单的例子:
char *a = "Dany S.";
char *b = "My name is *a , I come from ... ";
b
所以,代替*a
我期望的字符串Dany S.
怎么做 ?
最好/最简单的方法是使用标准 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";
您可以使用 printf 即:
#include <stdio.h>
char *a = "Dany S.";
char *b = "My name is %s , I come from ... ";
printf(b, a);