我如何将int数组存储到字符串中

Zai*_*tab 3 c arrays string int char

我有一个整数数组:

int a[5]={5,21,456,1,3}
Run Code Online (Sandbox Code Playgroud)

我需要将这些数字存储到char数组中,以便char数组有这样的东西:

char *s="52145613";
Run Code Online (Sandbox Code Playgroud)

这有库函数吗?

LPs*_*LPs 10

sprintf 做你需要的.

小例子

char str[128];
int i=0;
int index = 0;
for (i=0; i<5; i++)
   index += sprintf(&str[index], "%d", a[i]);
Run Code Online (Sandbox Code Playgroud)

snprintf 照顾str长度

char str[128];
int i=0;
int index = 0;
for (i=0; i<5; i++)
   index += snprintf(&str[index], 128-index, "%d", a[i]);
Run Code Online (Sandbox Code Playgroud)

  • 请注意,如果出现错误,`snprintf()`将返回负值。将此值添加到“ index”将是错误的。 (2认同)

Sou*_*osh 1

您可以搜索sprintf()/snprintf()它可以为您完成工作。

从手册页来看,

int sprintf(char *str, const char *format, ...); int snprintf(char *str, size_t size, const char *format, ...);

该系列中的函数printf()根据如下所述的格式产生输出。...[...]...

sprintf()snprintf()vsprintf()vsnprintf()写入字符串str