[H-L-L.ru] |
Форма входа |
Меню сайта |
Главная » Статьи » Лекции по C++ » 12. Потоки ввода/вывода |
Чтение символа из потока – getc, fgetc.int getc(FILE *f); int fgetc(FILE *f); Функции возвращают очередной символ в форме int из потока f. Если символ не может быть прочитан, то возвращается значение EOF. Запись символа в поток – putc, fputc.int putc(int ch, FILE *f); int fputc(int ch, FILE *f); Функции записывают символ ch в поток f. При ошибке возвращается значение EOF, иначе – записанный символ. Чтение строки из потока – fgets.char *fgets(char *s, int n, FILE *f); Функция читает не более n-1 байт из потока f в строку s, прекращая чтение при обнаружении символа новой строки или конца файла. Символ новой строки при чтении не отбрасывается, а помещается в конец строки. Прочитанная строка дополняется ограничителем строки ('\0'). При обнаружении ошибки или конца файла возвращается NULL. При успешном завершении чтения функция возвращает указатель на строку s. Запись строки в поток – fputs.int fputs(const char *s, FILE *f); Функция записывает строку символов s в поток f. Символ конца строки в файл не записывается. При ошибке возвращает значение EOF, иначе – неотрицательное число. Форматированный ввод из потока – fscanf.Функция fscanf ( ) имеет следующий прототип: int fscanf(FILE *f,const char *format[, address, ...]); Она во всем аналогична функции scanf ( ), за исключением того, что форматированный ввод осуществляется не со стандартного устройства ввода, а из файлового потока f. Форматированный вывод в поток – fprintf,Функция fprintf ( ) имеет следующий прототип: int fprintf(FILE *f, const char *format[, argument,...]) Она во всем аналогична функции printf (), но осуществляет форматированный вывод не на стандартное устройство вывода, а в файловый поток f. Функция определения конца файла – feof ( )Функция feof ( ) является на самом деле макросом и позволяет осуществлять проверку на достижение символа конца файла при операциях ввода-вывода. Она имеет следующий прототип: int feof(FILE *f); Она возвращает ненулевое значение, если был обнаружен конец файла при последней операции ввода в поток f и 0, если конец файла еще не достигнут. Рассмотрим пример файлового ввода и вывода. Перед использованием данной программы следует убедится в наличии файла D:\MyLoveFile.txt. Его можно создать с помощью редактора Блокнот:
FILE *in, *out; if ((in = fopen("D:\\MyLoveFile.txt", "rt")) == NULL) { printf(RUS("\nНевозможно открыть файл D:\MyLoveFile.txt.\n")); getch(); return 1; } if ((out = fopen("D:\\MyLoveFile.bak", "wt")) == NULL) { printf(RUS("\nНевозможно открыть файл D:\MyLoveFile.ВАК.\n")); getch(); return 1; } while (!feof(in)) fputc( fgetc(in),out); fclose(in); fclose(out); printf(RUS("Копия MyLoveFile.ВАК файла MyLoveFile.txt успешно создана.\n")); Источник: чтение символа из потока Запись строки функция определения конца | |
Всего комментариев: 0 | |