我在 64 位 linux 上使用 sprintf 的功能。当我测试由 sprintf 或 snprintf 编写的字符串时,发生了奇怪的事情。我使用它的方式:
char s[256];
int current=0;
for (int i=0; i<5; i++)
{
current += sprintf(s+current, "d", i);
}
printf("string is %s \n", s);
我得到的只是:字符串是 ddddd,如果我将 sprintf(s,"d", i) 更改为 "c" 或 "lf",我得到的只是 ccccc 或 lflflflflf。有人对此有任何线索吗?非常感谢!