że posiada wskaźnik do tablicy wskazówki i długości tablicy w następujący sposób:sprintf unsigned int tablicy w C
unsigned int length = 3;
int *array; // Assume the array has 3 initialized elements
również mieć łańcuch i bufor (zakładając, że jest wystarczająco duży) wprowadzić do sprintf jako takie:
char buffer[128];
const char *pattern = "(%d, %d, %d)\n";
Załóżmy, że pattern
będą miały tylko "% d" S i inne znaki, ale może być każda forma (czyli "test% d:% d" lub „% d % d "), a długość array
zawsze będzie taka sama jak liczba"% d ".
Ponieważ długość tablicy może być cokolwiek, czy jest jakiś sposób, że mogę zrobić sprintf (buffer, pattern, &array[0], &array[1], &array[2])
bez jawnego wyliczenia elementów array
? Coś podobnego do linii sprintf (buffer, pattern, array)
. Potrafię napisać tyle funkcji pomocnika, ile potrzeba. Myślałem o sfałszowaniu va_list, ale wydaje się to być złą praktyką, ponieważ ogranicza program do określonego kompilatora.
Jest to niezbędne 's [0] = 0;'? – imreal