işaretsiz int dizi I ints bir dizi için bir işaretçi ve bu şekilde dizinin uzunluğuna sahiptir: Ayrıca, bir dizi ve bir tampona sahipsprintf ve C
unsigned int length = 3;
int *array; // Assume the array has 3 initialized elements
(varsayalım yeterince büyüktür) gibi sprintf koymak için:
char buffer[128];
const char *pattern = "(%d, %d, %d)\n";
pattern
sadece o "% D" s ve diğer karakter varsayın, ancak herhangi bir şekilde olabilir (yani, "test% d:% d" veya "% D % d ") ve array
uzunluğunun her zaman"% d "sayısı ile aynı olacağını.
Dizinin uzunluğu bir şey olabileceğinden, array
öğelerini açıkça numaralandırmadan sprintf (buffer, pattern, &array[0], &array[1], &array[2])
yapabilmem mümkün mü? sprintf (buffer, pattern, array)
hatları boyunca bir şey. Gerekli olduğu kadar çok yardımcı fonksiyon yazabilirim. Bir va_list'i taklit etmeyi düşünüyordum, fakat bu programın belirli bir derleyiciye sınırlandırılmasından dolayı kötü bir uygulama gibi görünüyor. biçim dizesi gerektiğinden gibi bir şey yapabilirsiniz
, gerektiğinde 'nin [0] = 0; '? – imreal