wielu z nas zna tradycyjne zastosowania scanf. Oto kilka mniej znanych faktów

Jak odczytać tylko część danych wejściowych, których potrzebujemy? Na przykład, rozważmy pewien strumień wejściowy, który zawiera tylko znaki, po których następuje liczba całkowita lub zmiennoprzecinkowa. I musimy zeskanować tylko tę liczbę całkowitą lub zmiennoprzecinkową.
to znaczy
Input: „jest to wartość 100”,
Output: odczytana wartość to 100

Input:”jest to wartość 21.2″,
Output : odczytana wartość to 21.,/div>, &a);

printf("Input value read : a = %d", a);
return 0;
}



teraz, prawdopodobnie, nie wiemy, co poprzednie bohaterowie, ale wiemy na pewno, że ostatnia wartość jest liczbą całkowitą., Jak możemy zeskanować ostatnią wartość jako liczbę całkowitą?

poniższe rozwiązanie działa tylko wtedy, gdy łańcuch wejściowy nie ma spacji.,

, &a);

printf("Input value read : a=%d",a);
return 0;
}



Explanation: The %*s in scanf is used to ignore some input as required., W tym przypadku ignoruje wejście do następnej spacji lub nowej linii. Podobnie jeśli napiszesz % * d to zignoruje liczby całkowite aż do następnej spacji lub nowej linii.

powyższy fakt na pierwszy rzut oka może nie wydawać się przydatną sztuczką. Aby zrozumieć jego użycie, najpierw zobaczmy fscanf ().

fscanf() : masz dość tej klupowatej składni do odczytu z plików? na ratunek przychodzi fscanf.

int fscanf(FILE *ptr, const char *format, ...) 

fscanf odczytuje plik wskazywany przez wskaźnik pliku (ptr), zamiast odczytu ze strumienia wejściowego.

rozważ następujący plik tekstowy abc.,txt

NAME AGE CITYabc 12 hyderbadbef 25 delhicce 65 bangalore 

teraz chcemy odczytać tylko pole miasta powyższego pliku tekstowego, ignorując wszystkie pozostałe pola. Połączenie fscanf i wyżej wymienionej sztuczki robi to z łatwością



Wyjście:

CITYhyderbaddelhibangalore 

ćwiczenie: policz liczbę słów, znaków i linii w pliku za pomocą fscanf!

autorem artykułu jest Nikhil Chakravartula., Jeśli lubisz GeeksforGeeks i chciałbyś przyczynić się do tego, możesz również napisać artykuł i wysłać swój artykuł do [email protected]. Zobacz swój artykuł pojawiający się na stronie głównej GeeksforGeeks i pomóż innym Geekom.