Dom Rozwój Co to jest scanf? - definicja z techopedia

Co to jest scanf? - definicja z techopedia

Spisu treści:

Anonim

Definicja - Co oznacza Scanf?

W języku programowania C scanf jest funkcją, która odczytuje sformatowane dane ze standardowego wejścia (tzn. Standardowego strumienia wejściowego, którym zwykle jest klawiatura, chyba że następuje przekierowanie), a następnie zapisuje wyniki w podanych argumentach.

Ta funkcja należy do rodziny funkcji, które mają tę samą funkcjonalność, ale różnią się jedynie źródłem danych. Na przykład fscanf pobiera dane wejściowe ze strumienia plików, a sscanf pobiera dane wejściowe z ciągu znaków.

Techopedia wyjaśnia Scanf

Funkcja scanf ma następujący prototyp / podpis:

int scanf (format const char *, …);

gdzie

  • int (liczba całkowita) jest typem zwracanym
  • format to ciąg znaków, który zawiera specyfikatory typu (patrz poniżej)
  • „…” (elipsa) wskazuje, że funkcja przyjmuje zmienną liczbę argumentów; każdy argument musi być adresem pamięci, na który zapisywany jest przekonwertowany wynik

Prosty specyfikator typu składa się z symbolu procentu (%) i znaku alfa wskazującego typ. Poniżej znajduje się kilka przykładów specyfikatorów typów rozpoznawanych przez scanf:

  • % c - postać
  • % d - Liczba całkowita ze znakiem
  • % x - Liczba całkowita bez znaku w formacie szesnastkowym
  • % f - zmiennoprzecinkowy
  • % s - ciąg

Funkcja działa, odczytując dane wejściowe ze standardowego strumienia wejściowego, a następnie skanuje zawartość „formatu” w poszukiwaniu dowolnego specyfikatora formatu, próbując dopasować oba. Po pomyślnym zakończeniu funkcja zapisuje wynik w przekazanych argumentach.

Na przykład, jeśli wywołanie funkcji to

scanf („% c% d”, & var1 i & var2);

a użytkownik wpisze „a1”, funkcja zapisze „a” w „var1” i „1” w „var2”. Jeśli jednak wywoływana jest funkcja

scanf („% x” i & var);

to samo wejście zostanie odczytane jako liczba szesnastkowa „a1”, która jest 161 w systemie dziesiętnym.

Funkcja zwraca następującą wartość:

  • > 0 - Liczba elementów przekonwertowanych i przypisanych pomyślnie.
  • 0 - Nie przypisano żadnego elementu.
  • <0 - Napotkano błąd odczytu lub osiągnięto koniec pliku (EOF) przed dokonaniem jakiegokolwiek przypisania.
Co to jest scanf? - definicja z techopedia