stdio


ANSI C - Typy danych fgetchar() int fgetchar(void); W pliku: stdio.h Makro fgetchar() jest zdefiniowane jako fgetc(stdin). Dokładniejsze informacje można znaleźć w opisie funkcji fgetc(). fputchar() int fgetchar(int ch); W pliku: stdio.h Funkcja fputchar() zapisuje znak ch w strumieniu stdio. Znak ch jest zadeklarowany jako int, ale funkcja przekształca go do typu unsigned char. Ponieważ wszystkie argumenty znakowe są automatycznie przekształcane do postaci liczb całkowitych, funkcję wywołuje się zwykle z argumentem ch typu char. Wywołanie funkcji fputchar(ch) jest równoznaczne z wywołaniem fputc(ch, stdout). Jeśli działanie funkcji zakończyło się pomyślnie, to zwraca ona wartość zapisanego znaku, w przeciwnym wypadku zwraca znak EOF. getchar() int getchar(void); W pliku: stdio.h Makro getchar() zwraca następny znak ze strumienia stdin. Znak jest wczytywany jako unsigned char i rzutowany na int. Po osiągnięciu końca pliku funkcja zwraca EOF gets() char *gets(char *str); W pliku: stdio.h Funkcja gets() wczytuje znaki ze strumienia stdin i umieszcza je w tablicy znaków wskanywanej przez str. Znaki przestają być wczytywane po napotkaniu znaku nowego wiersza (LF) lub EOF. Znak nowego wiersza nie jest umieszczany we wczytanym ciągu znaków, lecz zamieniany na końcowy znak zerowy. Jeżeli działanie funkcji gets() zakończyło się pomyślnie, to zwraca ona wskaźnik argumentu str, w przeciwym wypadku zwraca wskźnik zerowy. Wskaźnik zerowy jest też zwracany w przypadku osiągnięcia końca pliku. Do stwierdzenia, które z tych dwóch zdarzeń miało miejsce należy skorzystać z funkcji feof(), ferror() printf() int printf(const char *format, arg-list); W pliku: stdio.h Funkcja zapisuje w łańcuchu stdout wartośći argumentów tworzących listę arg-list w formacie określonym za pomocą łańcucha format. Łańcuch wskanywany przez parametr format składa się z dwóch rodzajów argumentów: znaków, które mają zostać wyświetlone w niezmienionej postaci, oraz specyfikatorów typu, określającego sposób, w jaki funkcja ma wyświetlić wszystkie argumenty podane za łańcuchem formatu. Wszystkie specyfikatory zostały zestawione w tabeli. Liczba argumentów znajdujących się za łańcuchem musi być dokładnie taka sama, jak liczba specyfikatorów formatu: są one wzajemnie przyporządkowane w kolejności ich występowania. Na przykład instrukcja: printf("Hello %c %d %s", 'c', 10, "!!!"); wyświetla: Hello c 10 !!! Jeżeli argumentów jest mniej niż elementów łańcucha formatu, to wyświetlane informacje są częściowow nieokreślone. Natomiast w przypadku, gdy argumentów jest więcej niż elementów łańcucha formatu, nadmiarowe argumenty zostają pominięte. Funkcja zwraca liczbę wyświetlonych znaków. Jeśli wystąpił błąd, to wartość powrotna jest mniejsza od zera. Z wieloma specyfikatorami formatu mogą występować modyfikatory formatu, określoające minimalna szerokość pola i liczbę pozycji dziesiętnych oraz powodujące wyrównywanie danych do lewej strony. Liczba całkowita znajdująca się między znakiem % a literą formatu pełni funkcję specyfikatora minimalnej szerokości pola. Powoduje on wyświetlenie spacji aż do osiągnięcia wymaganej liczby znaków. Jeżeli długość wyprowadzonego łańcucha lub liczby jest większa niż minimalna szerokość, to są one wyświetlane w całości. Jeśli zamiast spacji (domyślny sposób wypełniania pola) mają zostać wyświetlane zera, to przed specyfikatorem minimalnej szerokości pola należy umieśić cyfrę 0. Na przykład: %05d spowoduje, że liczba zawierająca mniej niż 5 cyfr zostanie uzupełniona z lewej strony zerami. Patrz też: scanf() KodFormat %cpojedynczy znak %słańcuch znaków %d lub %iliczba całkowita ze znakiem w systemie dziesiętnym %uliczba całkowita bez znaku w systemie dziesiętnym %e lub %Eliczba w zapisie wykładniczym %fliczba zmiennoprzecinkowa w zapisie dziesiętnym %g lub %Gkrótszy z formatów %e (%E) lub %f %oliczba bez znaku w systemie ósemkowym %x lub %Xliczba bez znaku w systemie szesnastkowym %pwskaźnik %nliczba wyświetlonych do tej pory znaków; związana z tym specyfikatorem zmienna powinna być wskaźnikiem do zmiennej całkowitej %%znak % putchar() int putchar(int ch); W pliku: stdio.h Makro putchar() zapisuje w strumieniu stdout znak zawarty w mniej znaczącym bajcie parametru ch. Wywołanie tego makra jest równoznaczne z wywołaniem funkcji putc(ch, stdout) gets() wczytuje znaki ze strumienia stdin i umieszcza je w tablicy znaków wskanywanej przez str. Znaki przestają być wczytywane po napotkaniu znaku nowego wiersza (LF) lub EOF. Znak nowego wiersza nie jest umieszczany we wczytanym ciągu znaków, lecz zamieniany na końcowy znak zerowy. Jeżeli działanie funkcji gets() zakończyło się pomyślnie, to zwraca ona wskaźnik argumentu str, w przeciwym wypadku zwraca wskźnik zerowy. Wskaźnik zerowy jest też zwracany w przypadku osiągnięcia końca pliku. Do stwierdzenia, które z tych dwóch zdarzeń miało miejsce należy skorzystać z funkcji feof(), ferror() puts() int puts(const char *str); W pliku: stdio.h Funkcja puts() zapisuje w strumieniu stdout łańcuch wskazany przez str. Końcowy znak zerowy jest zamieniany na znak nowego wiersza. Jeśli działanie funkcji zakończyło się pomyślnie, to zwraca ona znak nowgo wierszam natomiast w przypadku wystąpienia błędu znak EOF. Patrz też: gets(), printf() scanf() int scanf(const char *format, arg-list); W pliku: stdio.h Funkcja scanf() służy do wczytywaniu danych wejściwych ze strumienia stdin. Umożliwia ona wczytywanie wszystkich wbudowanych typów języka C i automatycznie przekształca liczby do odpowiedniego formatu. argument format informuje o rodzaju wczytywanych danych (podobnie jak printf() o rodzaju drukowanych danych). Specyfikatory są poprzedzone znakiem % i odpowiadają kolejnym wczytywanym danym. Umieszczenie odstępu w łańcuchu formatu poleca funkcji pominięcie jednej lub więcej spacji w strumieniu wejściowym. Do odstępów należą: spacja, tabulator, znak końca wiersza, tabulator pionowy i znak końca strony. Po napotkaniu odstępu w łańcuchu formatu funkcja wczytuje i porzuca dowolną liczbę odstępów, aż do pobrania pierwszego znaku nie będącego odsępem. Umieszczenie w łańcuchu formatu znaku nie będącego odstępem powoduje, że funkcja wczytuje i porzuca go. Na przykład specyfikator: %d,%d oznacza wczytanie liczby całkowitej, przecinka i drugiej liczby całkowitej. brak określonego znaku w strumieniu wejściowym powoduje zakończenie działania funkcji. Wszystkie zmienne mające przyjąć określoną wartość muszą być przekazane przez ich adres. Wszystkie parametry należące do arg-list muszą być wskaźnikami do zmiennych: scanf("%d", &liczba); Specyfikatory formatu: KodFormat %cpojedynczy znak %słańcuch znaków %d lub %iliczba całkowita ze znakiem w systemie dziesiętnym %uliczba całkowita bez znaku w systemie dziesiętnym %e lub %Eliczba w zapisie wykładniczym %fliczba zmiennoprzecinkowa w zapisie dziesiętnym %g lub %Gkrótszy z formatów %e (%E) lub %f %oliczba bez znaku w systemie ósemkowym %x lub %Xliczba bez znaku w systemie szesnastkowym %pwskaźnik %nliczba wczytanych do tej pory znaków; %[]wczytanie znaków należących do określonego zbioru skanowania Patrz też: printf()

Wyszukiwarka

Podobne podstrony:
stdio 8h
group avr stdio
stdio

więcej podobnych podstron