АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Функции ввода/вывода

Читайте также:
  1. II. Основные задачи и функции
  2. III. Предмет, метод и функции философии.
  3. XVIII. ПРОЦЕДУРЫ И ФУНКЦИИ
  4. А) ПЕРЕДАЧА НА РУССКОМ ЯЗЫКЕ ФУНКЦИИ АРТИКЛЯ
  5. А. Средняя квадратическая погрешность функции измеренных величин.
  6. Абстрактные классы и чистые виртуальные функции. Виртуальные деструкторы. Дружественные функции. Дружественные классы.
  7. Адаптивные функции
  8. Администраторы судов, их функции
  9. Алгебраическое интерполирование функции.
  10. Анализ функции логики высказываний
  11. Аналитические функции
  12. Арендная плата: состав и функции

Простейший способ выполнить чтение из файла или запись в файл – использовать функции fgetc() или fputc().

Функция fgetc() выбирает из файла очередной символ; ей нужно только знать указатель на файл, например:

char Symb=fgetc(fin);

Если при обработке достигается конец файла, то функция fgetc() возвращает значение EOF(end of file).

Функция fputc() заносит значение символа Symb в файл, на который указывает указатель out. Формат вызова функции:

f putc(Symb,out);

Пример 1. Текст из файла my_char.txtвыводится на экран. Если файл не найден, на экран выводится сообщение "File not found!":

#include "stdafx.h"

int main()

{

FILE *ptr; //описание указателя на файл

char ch;

if ((ptr=fopen("my_char.txt","r"))!=NULL)/*открытие файла для чтения*/

{

ch=fgetc(ptr); //чтение первого символа из файла

while (!feof(ptr)) //цикл пока не достигнут конец файла

{

printf("%c",ch); //вывод символа, взятого из файла

ch=fgetc(ptr); //чтение следующего символа из файла

}

fclose(ptr); //закрытие файла

}

else printf("\nFile not found!");

return 0;

}

 

В этом примере для чтения файла используется указатель ptr. При открытии файла производится проверка. Если переменной ptr присвоено значение NULL, то файл не найден; на экран выводится соответствующее сообщение, и программа завершается. Если ptr получил ненулевое значение, то файл открыт. Далее выполняется чтение символов из файла до тех пор, пока не будет достигнут конец файла (!feof(ptr)). Прочитанный символ помещается в переменную ch, а затем выводится на экран.

Пример 2. Записать в файл буквы, вводимые с клавиатуры. Ввод продолжается до нажатия клавиши F6 или CTRL/z (ввод символа EOF – конца файла):

#include "stdafx.h"

int main(void)

{

char c;

FILE *out; // описание указателя на файл

out=fopen("Liter.txt","w"); //открытие файла для записи

while ( (c=getchar( ))!=EOF) /*пока не будет введен символ конца */

fputc(c,out); // запись введенного символа в файл

fclose(out); //закрытие файла

return 0;

}

 

Функция fgets() читает строку символов из файла. Она отличается от функции gets() тем, что в качестве второго параметра должно быть указано максимальное число вводимых символов плюс единица, а в качестве третьего - указатель на переменную файлового типа. Строка считывается целиком, если ее длина не превышает указанного числа символов, в противном случае функция возвращает только заданное число символов.



Рассмотрим пример:

fgets(string, n, fp);

Функция возвращает указатель на строку string при успешном завершении и константу NULL в случае ошибки либо достижения конца файла.

Функция fputs() записывает строку символов в файл. Она отличается от функции puts() тем, что в качестве второго параметра должен быть записан указатель на переменную файлового типа.

Например:

fputs("Ехаmple", fp);

При возникновении ошибки возвращается значение EOF.

Пример 3. Имеется текстовый файл. Определить длины строк этого файла:

#include <string.h>

#include <iostream>

 

int _tmain(int argc, _TCHAR* argv[])

{

setlocale(0,"RUS");

char st[125];

int a=0;

FILE *fo;

fo = fopen("prim.txt","r"); //открытие файла для чтения

while (!feof(fo))//цикл пока не конец файла

{

fgets(st,125,fo); //читать строку символов

if (!feof(fo)) //если не конец файла

{

a=strlen(st); //определить длину строки

printf("Длина:%d строка:%s \n",a,st);

}

}

fclose(fo);

return 0;

}

 


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 |


При использовании материала, поставите ссылку на Студалл.Орг (0.007 сек.)