198 DODATEK C. WYBRANE FUNKCJE BIBLIOTEKI STANDARDOWEJ Wartość zwracana Jeżeli funkcje zakończą się sukcesem zwracają liczbę znaków w tekście (wypisanym na standardowe wyjście, do podanego strumienia lub tablicy znaków) nie wliczając kończącego ’\0’. W przeciwnym wypadku zwracana jest liczba ujemna. Wyjątkami są funkcje snprintf i vsnprintf, które zwracają liczbę znaków, które zostałyby zapisane do tablicy znaków, gdyby była wystarczająco duża. Przykład użycia #include int main() { int i = 4; float f = 3.1415; char *s = "Monty Python"; printf("i = %i\nf = %.1f\nWskaźnik s wskazuje na napis: %s\n", i, f, s); return 0; } Wyświetli: i = 4 f = 3.1 Wskaźnik s wskazuje na napis: Monty Python Funkcja formatująca ciąg znaków i alokująca odpowiednią ilość pamięci: #include #include char *sprintfalloc(const char *format, ...) { int ret; size_t size = 100; char *str = malloc(size); if (!str) { return 0; } for(;;){ va_list ap; char *tmp; va_start(ap, format); ret = vsnprintf(str, size, format, ap); va_end(ap); if (ret
... zobacz całą notatkę
Komentarze użytkowników (0)