無符號整型陣列I具有一個指向整數數組和所述陣列的長度,這樣:sprintf和用C
unsigned int length = 3;
int *array; // Assume the array has 3 initialized elements
我也有一個字符串和一個緩衝器(假定它是足夠大的)投入的sprintf這樣:
char buffer[128];
const char *pattern = "(%d, %d, %d)\n";
假設pattern
只會有它的「%d」 S和其他字符,但可以是任何形式(即「測試%d:%d」或「%d %d「),並且array
的長度將始終與」%d「的數量相同。
由於數組的長度可以是任何東西,有沒有什麼辦法可以做sprintf (buffer, pattern, &array[0], &array[1], &array[2])
而不明確地列舉出array
的元素?東西沿着sprintf (buffer, pattern, array)
。我可以根據需要編寫儘可能多的幫助函數。我正在考慮僞造一個va_list,但這似乎是不好的做法,因爲它將程序限制在某個編譯器中。
這是必要'S [0] = 0;'? – imreal