使用格式说明符在C中创建一个字符串

mou*_*che 2 c string

是否有标准的C函数允许您使用格式说明符构建字符串?

现在我这样做:

char buffer[256];
char *name = "Fred";
strcpy(buffer, "Hello, ");
strcat(buffer, name);
strcat(buffer, ". How are you today?\n");
Run Code Online (Sandbox Code Playgroud)

有没有办法在一个函数中将消息添加到缓冲区?

像这样的东西:

makestr(buffer, "Hello, %s. How are you today?\n", name);
Run Code Online (Sandbox Code Playgroud)

Fir*_*aad 8

的sprintf

使用它时要小心,因为sprintf不是一个安全的功能,可能会遇到缓冲区溢出.