Главная
Регистрация
Вход
Суббота
23.11.2024
05:54
Приветствую Вас, Гость | RSS

Меню сайта

Друзья сайта

Категории раздела
1. Основы работы в среде C++ Builder.Основы языка Си++ [9]
2. Операторы ветвления и операторы передачи управления [4]
3. Операторы цикла и операторы передачи управления [5]
4. Одномерные массивы [3]
5. Многомерные массивы [3]
6. Указатели.Динамическое распределение памяти [6]
7. Отладка программы [3]
8. Функции [8]
9. Строки [5]
10. Функция Main [2]
11. Типы данных,определяемые пользователем [5]
12. Потоки ввода/вывода [7]
13. Основы объектно-ориентированного программирования [5]
Приложения [11]

Форма входа

Наш опрос
Как вам новый дизайн сайта?
Всего ответов: 465

Пользователи

Онлайн всего: 12
Гостей: 12
Пользователей: 0

 Каталог статей 
Главная » Статьи » Лекции по C++ » 12. Потоки ввода/вывода

PDA-версия страницы

3. Функции ввода/вывода в текстовые файлы

Чтение символа из потока – 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"));

Категория: 12. Потоки ввода/вывода | Добавил: Admin (01.09.2011)
Просмотров: 7351 | Рейтинг: 5.0/1
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

Помочь сайту!
рублей WMR
WebMoney на кошелек R407507742179

Партнёры сайта

Закладки

Поиск по сайту

Copyright H-L-L.RU © 2024
Сделать бесплатный сайт с uCoz