1

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

4

1 回答 1

6

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

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

然后可以使用正常方式打印字符串。是打印到 asprintf()的版本,就像打印到 a一样。printf()char*fprintf()FILE*

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

    snprintf(string, 1024, "%d %d %d", numbers[0], numbers[1], numbers[2]);
于 2013-09-26T15:08:57.237 回答