Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Podstawy programowania II Wykład 2: Biblioteka stdio.h Zachodniopomorska Szkoła Biznesu.

Podobne prezentacje


Prezentacja na temat: "Podstawy programowania II Wykład 2: Biblioteka stdio.h Zachodniopomorska Szkoła Biznesu."— Zapis prezentacji:

1 Podstawy programowania II Wykład 2: Biblioteka stdio.h Zachodniopomorska Szkoła Biznesu

2 Podstawy programowania II - Biblioteka stdio.h Charakterystyka biblioteki stdio.h Nazwa pochodzi od Standard Input - Output Realizuje zadania związane z obsługą wejścia - wyjścia, np.: Wczytywanie danych z klawiatury Wyświetlanie danych na ekranie monitora Wprowadzanie i wyprowadzanie danych poprzez porty komputera, np. drukowanie na drukarce Odczyt danych z pliku dyskowego Zapis do pliku dyskowego Biblioteka ta należy do standardu ANSI i dołączana jest praktycznie do wszystkich kompilatorów C/C++. Zapewnia więc wysoką przenośność kodu W stdio.h wszystkich operacji we/wy dokonuje się na tzw. strumieniach (ang. stream) odpowiadających poszczególnym urządzeniom wejścia/wyjścia

3 Podstawy programowania II - Biblioteka stdio.h Strumienie Strumień to abstrakcyjne urządzenie wejścia-wyjścia, które pozwala na pobieranie z niego danych lub wysyłanie danych do niego Celem jest uniezależnienie programisty od sprzętu, a nawet od jego rodzaju. Np. wysyłanie danych na ekran (tekstowy), do pliku dyskowego czy na drukarkę powinno być realizowane tymi samymi funkcjami i to niezależnie od sprzętu. Realizację operacji wejścia wyjścia dopasowaną do danego urządzenia zapewniają już funkcje biblioteczne w zależności od właściwości użytego strumienia.

4 Podstawy programowania II - Biblioteka stdio.h Standardowy strumień wyjściowy stdout - domyślny, predefiniowany strumień, do którego program wysyła informacje tekstowe Zwykle jest on związany z ekranem monitora lub oknem tekstowym (tzw. konsola) w graficznym systemie operacyjnym System operacyjny umożliwia jednak podczas uruchamiania programu przekierowanie, zmianę standardowego urządzenia wyjściowego na inne, np. plik, drukarkę Na przykład komenda (DOS) dir > plik.txt spowoduje zapis listy plików z aktualnego katalogu do pliku tekstowego plik.txt zamiast na ekran. Wiele funkcji z biblioteki stdio.h realizuje wydruk do stdout, co w zasadzie oznacza wydruk na ekranie, ale umożliwia także przekierowanie podczas uruchamiania programu

5 Podstawy programowania II - Biblioteka stdio.h Funkcje wyjścia Wysyłanie pojedynczego znaku: putchar (do stdout) fputc (do dowolnego strumienia) putc (do dowolnego strumienia) Wysyłanie ciągu znaków (stringu): puts (do stdout) fputs (do dowolnego strumienia) Formatowane wyjście: printf (do stdout) fprintf (do dowolnego strumienia) sprintf (do stringu)

6 Podstawy programowania II - Biblioteka stdio.h Funkcja putchar Wysyła pojedynczy znak do stdout. Prototyp: int putchar (int znak); Parametry: znak kod ASCII znaku, który ma być wysłany. Zwracana wartość W przypadku powodzenia, funkcja zwraca wartość znak. W przypadku błędu zwracana jest wartość EOF (stała ta zdefiniowana jest przez bibliotekę stdio.h) Przykłady putchar(65); // Znak A putchar('B'); // putchar('\n'); // Znak końca linii

7 Podstawy programowania II - Biblioteka stdio.h Funkcja puts Wysyła string do stdout dodając na końcu znak nowej linii. Prototyp: int puts (char *tekst); Parametry: tekst wskaźnik do stringu zakończonego znakiem '\0'. Zwracana wartość W przypadku powodzenia zwracana jest wartość nieujemna. W przypadku błędu zwracana jest wartość EOF. Przykłady puts("Hello"); char *tekst="world!"; puts(tekst); //'world!' pojawi się pod 'Hello' if (puts("Abrakadabra")==EOF) // kontrola błędu puts ("Błąd!");

8 Podstawy programowania II - Biblioteka stdio.h Przykład użycia puts i putchar void main() { char tekst[5]= { 'A','B',0, 'C','D' }; // wyświetlenie stringu aż do znaku '\0' puts(tekst); // wyświetlone znaki: AB\n // wyświetlenie wszystkich znaków z tablicy for (int i=0; i<5; i++) putchar(tekst[i]); // wyświetlone znaki : AB\0CD }

9 Podstawy programowania II - Biblioteka stdio.h Funkcja printf i jej pochodne Funkcje: printf, sprintf, fprintf itp. służą do tworzenia i wysyłania (wyświetlania) tekstu złożonego z wielu elementów, takich jak: znaki (w tym znaki specjalne) ciągi znaków (zakończone znakiem '\0') liczby całkowite liczby zmiennoprzecinkowe adresy Funkcje te dokonują automatycznej konwersji każdej z powyższych danych na gotowy ciąg znaków oraz wysyłają go we wskazane miejsce (np. na ekran, do stringu lub do pliku) Umożliwiają elastyczne formatowanie poszczególnych pól, co pozwala programiście na kontrolę wyglądu i układu tekstu

10 Podstawy programowania II - Biblioteka stdio.h Funkcja printf Wysyła sformatowany tekst do stdout. Prototyp: int printf (char *format, lista_argumentów); int printf (char *format,...); // formalnie Parametry: format tzw. string formatu, definiujący treść i format wyświetlanego tekstu, w którym można umieścić tzw. pola lista argumentów ciąg wyrażeń oddzielonych przecinkami, odpowiadających poszczególnym polom w formacie. Liczba wyrażeń w liście argumentów powinna odpowiadać liczbie pól w formacie. W szczególności lista może być pusta. Zwracana wartość Funkcja zwraca całkowitą liczbę wysłanych znaków. W przypadku błędu zwracana jest wartość ujemna.

11 Podstawy programowania II - Biblioteka stdio.h String formatu Składa się z dowolnych znaków, z których większość jest wysyłana bezpośrednio na wyjście. Jeżeli w tekście wystąpi znak %, oznacza on pole, które będzie wypełnione wartością odpowiedniego argumentu, zgodnie z opisem formatu następującym po znaku %. Kolejność argumentów odpowiada kolejności pól w formacie. Przykład: printf ("Ala ma %d koty i %d psy.", 2, 3); Ala ma koty i psy.23

12 Podstawy programowania II - Biblioteka stdio.h Opis pola w formacie printf Typ - element obowiązkowy pola informujący o rodzaju wyświetlanej wartości (np. czy jest to liczba dziesiętna czy szesnastkowa, całkowita czy zmiennoprzecinkowa, czy może ciąg znaków). Pola opcjonalne: Flagi - określają niektóre szczegóły wyświetlania Szerokość - minimalna liczba znaków przeznaczonych na wydruk wartości pola Precyzja - dla liczb zmiennoprzecinkowych wyznacza liczbę miejsc po przecinku Rozmiar - informuje o rozmiarze interpretowanego argumentu (np. short/int/long lub double/long double ) %[flagi][szerokość][.precyzja][rozmiar]typ

13 Podstawy programowania II - Biblioteka stdio.h Wyświetlanie znaków Kod pola: c Odpowiedni argument funkcji printf powinien być typu char. Zostanie on potraktowany jako kod ASCII znaku do wysłania (wyświetlenia). W przypadku podania wartości typu całkowitego, zostanie wyświetlony znak odpowiadający jej modulo 256 Przykłady: printf ("Litera %c.",'A'); printf ("Litera %c i %c.",65, 66+256); // 2 pola Litera A. Litera A i B.

14 Podstawy programowania II - Biblioteka stdio.h Wyświetlanie stringów Kod pola: s Odpowiedni argument funkcji printf musi być typu char *, a więc tablicą znaków, wskaźnikiem na znak lub bezpośrednio stringiem. Wyświetlone zostaną wszystkie znaki aż do najbliższego napotkanego znaku '\0'. Przykłady: printf ("Powiem Ci: %s", "Cześć!"); Powiem Ci: Cześć! char agent[]="Bond"; char *tekst=agent; printf ("Nazywam się %s, %s %s.", agent, "James", tekst); Nazywam się Bond, James Bond.

15 Podstawy programowania II - Biblioteka stdio.h Wyświetlanie liczb całkowitych Kod pola d lub i: liczba całkowita dziesiętna ze znakiem Argument powinien być liczbą całkowitą ze znakiem. Dla zbyt dużej wartości unsigned wynik będzie błędny. Kod poda u: nieujemna liczba dziesiętna ( unsigned ) Dla wartości ujemnej wynik będzie błędny. Kod poda x lub X: nieujemna liczba szesnastkowa ( unsigned ) Dla wartości ujemnej wynik będzie błędny. Dla pola x użyte będą cyfry a...f, dla pola X - A...F. Kod poda o : liczba ósemkowa ze znakiem Argument powinien być liczbą całkowitą ze znakiem. Dla zbyt dużej wartości unsigned wynik będzie błędny. Dla wszystkich powyższych rodzajów pól, podanie argumentu zmiennoprzecinkowego spowoduje wyświetlenie błędnej wartości

16 Podstawy programowania II - Biblioteka stdio.h Wyświetlanie liczb rzeczywistych Kod pola e lub E: liczba rzeczywista w notacji naukowej Argument powinien być liczbą zmiennoprzecinkową. Jeżeli typ wartości będzie całkowity, wynik może być błędny. Wartość zostanie wyświetlona w tzw. notacji naukowej, z użyciem znaku e lub E (np. 1.344E-14 ) Kod poda f : liczba rzeczywista Argument jak wyżej. Wartość zostanie wyświetlona w zwykły sposób, z kropką dziesiętną, zazwyczaj ze stałą liczbą cyfr po kropce Kod pola g lub G: liczba rzeczywista Argument jak wyżej. Wartość zostanie wyświetlona w notacji naukowej lub zwykłej, w sposób najkrótszy z możliwych

17 Podstawy programowania II - Biblioteka stdio.h Przykłady pól dla liczb całkowitych PoleArgumentEfekt %d-10 %d3 000 000 000 -1292967296 %u-10 4294967286 %u3 000 000 000 %x2000 7d0 %X2000 7D0 %x-10 FFFFFFF6 %d0.9 -858993459 %o100 144

18 Podstawy programowania II - Biblioteka stdio.h Przykłady pól dla liczb rzeczywistych PoleArgumentEfekt %f10.0 10.000000 %f10.0 / 3 3.333333 %f10 0.000000 %e10.0 1.000000e+01 %E-10.0 / 3 -3.333333E+00 %g10.0 10 %g10.0/3 3.33333 %g1 000 000 000.0 1E+009 %G0.000012 1.2E-005

19 Podstawy programowania II - Biblioteka stdio.h Wyświetlanie adresów Kod pola: p Argument powinien być wskaźnikiem na dowolny typ danych. Wyświetlony zostanie adres fizyczny na który wskazuje wskaźnik, w postali liczby szesnastkowej. Zakres możliwych adresów i sposób ich prezentacji zależy od kompilatora i od tego na jaki system operacyjny tworzony jest program. Przykład int tab[10]; printf ("Adres tablicy: %p.", tab);

20 Podstawy programowania II - Biblioteka stdio.h Znaki specjalne Szereg znaków sprawia kłopoty z zapisem wewnątrz stringu ze względu na ich specjalne znaczenie w składni języka C++: " zapisuje się jako: \" ' zapisuje się jako: \' \ zapisuje się jako: \\ (TAB) zapisuje się jako: \t (NEWLINE) zapisuje się jako: \n Z powodu użycia znaku % jako oznaczenia pola w stringu formatu funkcji printf, w celu jego wyświetlenia przez tę funkcję należy użyć sekwencji: %.

21 Podstawy programowania II - Biblioteka stdio.h Szerokość pola Liczba znaków poświęconych na wyświetlenie pola Jeżeli wyświetlana wartość składa się w rzeczywistości z mniejszej liczby znaków, brakujące uzupełniane są domyślnie za pomocą spacji z lewej strony Przykłady: printf ( "Liczba:%4d,", -1 ); printf ( "Liczba:%4d,", 100 ); printf ( "Liczba:%4f,", -1.1 ); printf ( "Imię:%10s.", "Piotr" ); Liczba: -1,// dopisane 2 spacje Liczba: 100,// dopisana 1 spacja Liczba:-1.1,// brak dopisanych spacji Imię: Piotr. // dopisane 5 spacji

22 Podstawy programowania II - Biblioteka stdio.h Precyzja W przypadku liczb zmiennoprzecinkowych pozwala ustalić wyświetloną liczbę cyfr po przecinku Jeżeli liczba posiada więcej cyfr po przecinku - nastąpi zaokrąglenie do najbliższej wartości Jeżeli liczba posiada mniej cyfr po przecinku - zostaną uzupełnione zerami Jeżeli nie określono precyzji - użyta zostanie domyślna Przykłady: printf ( "Liczba pi:%.2f,", 3.1415 ); printf ( "Liczba e :%10.2e,", 2.7182 ); printf ( "Liczba -1:%6.2f,", -1.0 ); Liczba pi:3.14, Liczba e : 2.72e+00, // dopisane 2 spacje Liczba 0 : -1.00, // dopisana 1 spacja

23 Podstawy programowania II - Biblioteka stdio.h Rozmiar argumentu Element ten pozwala sprecyzować liczbę bitów, na jakiej zapisano argument. Bywa to konieczne w przypadku wyświetlania wartości o dużych zakresach, np. long, double, long double Wartości: h:Dla pól (d, i, o, u, x, X)- short int l:Dla pól (d, i, o, u, x, X) - long int Dla pól (f, e, E, g, G)- double L:Dla pól (f, e, E, g, G)- long double Przykład: printf ( "Duża liczba:%lu.", 4000000000 ); Duża liczba: 4000000000.

24 Podstawy programowania II - Biblioteka stdio.h Flagi Pozwalają sterować dodatkowymi możliwościami formatowania Wartości: - Wyrównuje tekst do lewej strony pola, dopisywane znaki (np. spacje) pojawiają się po prawej stronie pola + Dla pól liczbowych - liczby dodatnie będą wypisane ze znakiem '+' na początku (spacja) Dla pól liczbowych - liczby dodatnie będą wypisane z dodatkowym znakiem spacji na początku (zamiast znaku) 0 Tekst uzupełniany jest znakami '0' zamiast spacji jeżeli wymaga tego szerokość pola Przykład: printf ( "%+08.2f,", 40.1 ); +0040.10

25 Podstawy programowania II - Biblioteka stdio.h Przykłady użycia printf printf ("Ala ma kota."); printf ("%s %c. ma %d koty.\n", "Paweł", 'A', 2); float tab[5]={0.01, -0.1, 10, -100, 100.01}; for (int i=0; i<5; i++) printf("Liczba %d: %+7.2f\n", i+1, tab[i]); Ala ma kota. Paweł A. ma 2 koty. Liczba 1: +0.01 Liczba 2: -0.10 Liczba 3: +10.00 Liczba 4: -100.00 Liczba 5: +100.01 _ Przykład: printf.cpp

26 Podstawy programowania II - Biblioteka stdio.h Zalety i wady funkcji printf Zalety: Zwięzłość zapisu Duża elastyczność i łatwość formatowania Przenośność Wady: Konieczność informowania o typie każdego argumentu (nie ma jej np. dla cout ) Brak kontroli zgodności rodzaju pól z typami argumentów Stosunkowo niska czytelność kodu

27 Podstawy programowania II - Biblioteka stdio.h funkcje pochodne od printf Umieszczenie tekstu sformatowanego w stringu int sprintf(char *buf, char *format,...); UWAGA! Pamięć wskazywana przez buf musi być wcześniej pobrana, na przykład jako deklaracja tablicy. Wysłanie tekstu sformatowanego do podanego strumienia int fprintf(FILE *strumień, char *format,...); UWAGA! strumień musi być uprzednio przygotowany do odbioru danych, czyli otwarty. Wersje funkcji printf z mechanizmem tzw. zmiennej liczby argumentów (dla zaawansowanych) Wynik do stdout int vprintf(char *format,...); Wynik do stringu int vsprintf(char *buf, char *format,...); Wynik do pliku int vfprintf(FILE *buf, char *format,...);

28 Podstawy programowania II - Biblioteka stdio.h Standardowy strumień wejściowy stdin - domyślny, predefiniowany strumień, z którego program pobiera informacje tekstowe Zwykle jest on związany z klawiaturą System operacyjny umożliwia jednak podczas uruchamiania programu przekierowanie, zmianę standardowego urządzenia wyjściowego na inne, np. plik Na przykład komenda (DOS) program.exe < plik.txt spowoduje, że uruchamiany program zamiast z klawiatury zacznie pobierać informacje z pliku tekstowego plik.txt Wiele funkcji z biblioteki stdio.h realizuje odczyt z stdout, co w zasadzie oznacza odczyt z klawiatury, ale umożliwia także przekierowanie podczas uruchamiania programu

29 Podstawy programowania II - Biblioteka stdio.h Funkcje wejścia Wprowadzanie pojedynczego znaku: getchar (z stdin) fgetc (z dowolnego strumienia) getc (z dowolnego strumienia) Wprowadzanie ciągu znaków (stringu): gets (z stdin) fgets (z dowolnego strumienia) Formatowane wejście: scanf (z stdin) fscanf (z dowolnego strumienia) sscanf (ze stringu)

30 Podstawy programowania II - Biblioteka stdio.h Funkcja getchar Wprowadza pojedynczy znak z stdin. Prototyp: int getchar (); Zwracana wartość W przypadku powodzenia, funkcja zwraca kod odczytanego znaku jako typ int. W przypadku błędu zwracana jest wartość EOF (stała zdefiniowana przez bibliotekę stdio.h) Przykład int kod=getchar(); printf("Podany znak to %c.\n", kod); getchar(); // czekanie na ENTER

31 Podstawy programowania II - Biblioteka stdio.h Funkcja gets Wprowadza pod podany adres jedną linię tekstu (do najbliższego znaku nowej linii) z stdin (domyślnie z klawiatury) zastępując znak nowej linii znakiem ' \0'. Prototyp: char *gets (char *buf); Parametry: buf wskaźnik do fragmentu pamięci przeznaczonego na tekst. Zwracana wartość: W przypadku powodzenia zwracany jest wskaźnik równy buf. W przypadku błędu zwracana jest wartość NULL (czyli 0). Przykłady char adres[256]; gets(adres); printf("Twój adres: %s\n", adres);

32 Podstawy programowania II - Biblioteka stdio.h Problem alokacji pamięci Wskaźnik podawany jako parametr w wielu funkcjach wejścia wskazuje miejsce w pamięci przeznaczone do umieszczenia danych. Miejsce to musi zostać uprzednio pobrane od systemu, Wskaźnik powinien więc w tej sytuacji być "ustawiony" na istniejącą zmienną (tablicę) Ponieważ nazwa tablicy jest wskaźnikiem na jej początek, można podać tę nazwę jako parametr. Typowy błąd, jaki można popełnić korzystając ze zmiennej wskaźnikowej: char * wsk; gets(wsk);// przypadkowe miejsce !!! Prawidłowe rozwiązanie: char tab[100]; char *wsk = tab;// ustawienie wskaźnika! gets(wsk);// lub: gets(tab);

33 Podstawy programowania II - Biblioteka stdio.h Funkcja scanf Wprowadza sformatowane dane z stdin. Prototyp: int scanf (char *format, lista_wskaźników); Parametry: format string definiujący oczekiwany format tekstu, w tym liczbę i rodzaj pól (wprowadzanych danych), lista wskaźników ciąg wyrażeń o typie wskaźnikowym, oddzielonych przecinkami, odpowiadających poszczególnym polom w formacie. Liczba wyrażeń w liście wskaźników powinna odpowiadać liczbie pól w formacie. W szczególności lista może być pusta. Zwracana wartość Funkcja zwraca liczbę prawidłowo odczytanych pól. W przypadku błędu uniemożliwiającego odczyt, zwra EOF.

34 Podstawy programowania II - Biblioteka stdio.h String formatu dla scanf Odzwierciedla oczekiwany format tekstu na wejściu. Może się składać z elementów: spacja lub tabulacja (tzw. whitespace) - dowolna liczba znaków spacji, tabulacji lub nowej linii zostanie odczytana i zignorowana znak % i następujący po nim opis pola - oczekiwana jest dana określonego rodzaju i formatu. Jeżeli tekst nie będzie odpowiadał formatowi, odczyt zostanie przerwany. inny znak - na wejściu oczekiwany jest dokładnie ten znak, jeżeli pojawi się inny, odczyt zostanie przerwany. Przerwanie odczytu oznacza, że pozostałe znaki, począwszy od pierwszego niepasującego, pozostają nadal na wejściu Przykłady stringu formatu: "%f PLN" // np.: "345.4 PLN" "%2d-%2d-%4d" // np.: 10-10-2008

35 Podstawy programowania II - Biblioteka stdio.h Opis pola w formacie scanf Typ - element obowiązkowy pola informujący o rodzaju odczytywanej wartości (np. czy jest to liczba dziesiętna czy szesnastkowa, całkowita czy zmiennoprzecinkowa, czy może ciąg znaków). Pola opcjonalne: * - odczytanie wartości pola bez zapisu do pamięci, Nie należy podawać wskaźnika dla tego pola Szerokość - maksymalna interpretowana liczba znaków dla pola Rozmiar - informuje o rozmiarze zmiennej przeznaczonej do zapisu pola (np. short/long lub float/double ) %[*][szerokość][rozmiar]typ

36 Podstawy programowania II - Biblioteka stdio.h Wprowadzanie znaków Kod pola: c Odpowiedni wskaźnik powinien być typu char *. Przykłady: char plec; printf("Podaj płeć (K/M): "); scanf ("%c", &plec); // & - pobranie adresu Podany przez użytkownika znak zostanie umieszczony w zmiennej plec. char kod[4]; printf("Podaj 4-znakowy kod: "); scanf ("%4c", kod); Podany przez użytkownika 4-znakowy kod zostanie umieszczony począwszy od wskaźnika kod. Na końcu nie zostanie umieszczony znak '\0'

37 Podstawy programowania II - Biblioteka stdio.h Wprowadzanie stringów Kod pola: s Odpowiedni wskaźnik funkcji musi być typu char * i wskazywać na pobrany od systemu fragment pamięci (tablicę). Wczytane zostaną wszystkie znaki aż do pierwszego napotkanego odstępu (spacja, tabulacja lub nowa linia). Na końcu automatycznie dołączony zostanie znak '\0'. Przykład: char nazwisko[20]; scanf ("%19s", nazwisko); // max 19 znaków

38 Podstawy programowania II - Biblioteka stdio.h Wprowadzanie liczb całkowitych Kod pola d: liczba całkowita dziesiętna, może zawierać znak +/-. Wskaźnik powinien być typu int * Kod poda u: nieujemna liczba dziesiętna ( unsigned ) Wskaźnik powinien być typu unsigned int * Kod poda x lub X: liczba całkowita szesnastkowa Wskaźnik powinien być typu int * Kod poda o : liczba całkowita ósemkowa Wskaźnik powinien być typu int * Dla wszystkich powyższych rodzajów pól, podanie przez użytkownika kropki dziesiętnej lub innego nieodpowiedniego znaku zakończy odczyt pola

39 Podstawy programowania II - Biblioteka stdio.h Wprowadzanie liczb rzeczywistych Kod pola e, E, f, g, G: Liczba rzeczywista w dowolnej notacji. Może zawierać: - znak +/-, - kropkę dziesiętną, - znak E lub e, po którym powinna występować liczba całkowita (która również może zawierać znak +/-)

40 Podstawy programowania II - Biblioteka stdio.h Rozmiar argumentu Element ten pozwala sprecyzować liczbę bitów, na jakiej zapisana zostanie odczytana wartość. W przypadku niesprecyzowania rozmiaru, domyślnymi typami danych są int (pola d, o), unsigned int (pola u, x, X), oraz float (pola e, E, f, g, G) Oznaczenie: h:Dla pól (d, o, u, x, X)- (unsigned) short int l:Dla pól (d, o, u, x, X) - (unsigned) long int Dla pól (f, e, E, g, G)- double L:Dla pól (f, e, E, g, G)- long double Przykład: unsigned long int liczba; printf ("Podaj dużą liczbę całkowitą:"); scanf("%lu", &liczba); scanf("%u", &liczba); // Zapis połowy bitów!

41 Podstawy programowania II - Biblioteka stdio.h Przykłady użycia scanf int i,n; float f, wsp[3]; char tab[10]; printf ("Podaj liczbę całkowitą:"); scanf("%d", &i); printf ("Podaj współrzędne 3D:"); scanf("%f, %f, %f", wsp, wsp+1, wsp+2); float tab[3]; printf ("Podaj 1-3 liczb (na końcu 'x')"); n=scanf("%f %f %f", tab, tab+1, tab+2); printf ("Podałeś %d liczb!\n", n);

42 Podstawy programowania II - Biblioteka stdio.h Funkcje pochodne od scanf Odczyt sformatowanego tekstu ze stringu: int sscanf(char *buf, char *format,...); buf wskazuje na początek interpretowanego tekstu, który powinien być zakończony znakiem '\0' Odczyt sformatowanego tekstu z podanego strumienia: int fscanf(FILE *strumień, char *format,...); UWAGA! Strumień (np. plik na dysku) musi być uprzednio otwarty.

43 printf ("Dziękuję za %s i ", "uwagę"); printf ("zapraszam na %d wykład.\n", 3); Dziękuję za uwagę i zapraszam na 3 wykład. czyli...


Pobierz ppt "Podstawy programowania II Wykład 2: Biblioteka stdio.h Zachodniopomorska Szkoła Biznesu."

Podobne prezentacje


Reklamy Google