CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник по функциям C/C++
fscanf
fscanf
Функция Выполняет форматированный ввод из потока. Синтаксис #include <stdio.h> int fscanf(FILE * stream, char * format[, adress,...]); Файл, содержащий stdio.h прототип Описание fscanf сканирует посимвольно набор вводимых полей, считывая их из потока. Затем каждое поле из потока форматируется в соответствии со спецификацией формата, которая передается fscanf в виде указателя на строку format. Полученное в результате этого поле fscanf запоминает в аргументах, передаваемых функции fscanf после параметра format. Количество аргументов должно совпадать с количеством спецификаций формата. Описание спецификаций формата приведено в описании функции scanf. fscanf завершает сканирование отдельного поля при появлении пробела, являющегося разделителем, или при вводе поля, для которого указана ширина. Эти случаи обсуждаются в описании функции scanf. Возвращаемое Функция fscanf возвращает количество успешно про- значение читанных, преобразованных и запомненных входных полей; возвращаемое значение не включает в себя прочитанные поля, которые не были сохранены. Если fscanf делает попытку чтения в конце файла, то возвращается EOF. Если не было записано ни одного поля, возвращается значение 0. Переносимость Функция fscanf поддерживается на системах UNIX и определена в стандарте Kernighan & Ritchie. Она поддерживается стандартом ANSI C. Смотрите также atof, cscanf, fprintf, printf, scanf, sscanf, vfscanf, vscanf, vsscanf. Пример: #include<stdlib.h> #include<stdio.h> int main(void) { int i; printf("Введите целое число:"); /* ввести из стандартного потока stdout целое число */ if(fscanf(stdin,"%d",&i)) printf("Целое равно:%d\n",i); else { fprintf(stderr,"Ошибка чтения целого\n"); exit(1); } return 0; }