如何将变量值组合成C中的字符串

1 c string variables

有没有办法将三个或更多变量与"int"中的值组合成一个字符串.假设我想在单个字符串中组合a,b,c的值,然后使用字符串中的变量进一步打印这些值.

del*_*ver 6

将三个整数放入一个字符串中:

   int numbers[3] = { 1, 2, 3 };
   char string[1024];
   sprintf(string, "%d %d %d", numbers[0], numbers[1], numbers[2]);
Run Code Online (Sandbox Code Playgroud)

然后可以使用常规方法打印该字符串.sprintf()是的一个版本printf(),打印成char*就像fprintf()打印到FILE*.

正如Jonathan Leffler所观察到的,一个陷阱sprintf()是你可以溢出你的char缓冲区.因此,有一个snprintf()允许您指定输入的最大长度:

    snprintf(string, 1024, "%d %d %d", numbers[0], numbers[1], numbers[2]);
Run Code Online (Sandbox Code Playgroud)

  • 给定`string`的大小,你有足够的空间来备用,但一般来说,使用`snprintf()`而不是`sprintf()`是一个好主意. (2认同)