小编Chi*_*rag的帖子

C中的sprintf和unsigned int数组

我有一个指向int数组的指针和数组的长度:

unsigned int length = 3;
int *array;        // Assume the array has 3 initialized elements
Run Code Online (Sandbox Code Playgroud)

我也有一个字符串和一个缓冲区(假设它足够大)放入sprintf中:

char buffer[128];
const char *pattern = "(%d, %d, %d)\n";
Run Code Online (Sandbox Code Playgroud)

假设pattern只有"%d"和其他字符,但可以是任何形式(即"Test%d:%d"或"%d%d"),并且长度array将始终相同作为"%d"的数量.

由于数组的长度可以是任何东西,有没有办法在sprintf (buffer, pattern, &array[0], &array[1], &array[2])没有明确枚举元素的情况下做到array?有点像sprintf (buffer, pattern, array).我可以根据需要编写尽可能多的辅助函数.我正在考虑伪造一个va_list,但这似乎是不好的做法,因为它将程序限制为某个编译器.

c printf variadic-functions

7
推荐指数
2
解决办法
1万
查看次数

标签 统计

c ×1

printf ×1

variadic-functions ×1