Студопедия

Главная страница Случайная лекция


Мы поможем в написании ваших работ!

Порталы:

БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика



Мы поможем в написании ваших работ!




Режим форматного обмена с файлами

Этот режим использует функции форматного ввода-вывода в файл:

int fprintf (указ. на поток,“формат. строка”,список перемен.);

int fscanf (указ. на поток,“формат. строка”,список адр. пер.);

В качестве первого параметра задается указатель на поток, с которым производится обмен.

Пример: Создать файл int.dat, содержащий числа от 1 до 10 и их квадраты.

/* создать файл int.dat, содержащий числа от 1 до 10 и их квадраты*/

#include <stdio.h>

#include <conio.h>

main()

{ FILE *I,*fp;

int n,a,b;

clrscr();

I=fopen("int.dat","w"); /* файл открыт для записи */

for (n=1;n<=10;n++)

fprintf(I,"\n %d\t%d",n,n*n); /* печать в файл*/

fclose(I);

fp=fopen("int.dat","r"); /* файл открыт для чтения */

puts("Содержимое файла");

for (n=1;n<=10;n++)

{ fscanf(fp,"%d\t%d",&a,&b);

printf("\n %d\t%d",a,b);

}

fclose (fp);

getch();

}

Пример записи и чтения структуры в файл.

/* запись и чтение структуры в файл */

#include <stdio.h>

#include <conio.h>

typedef struct { char fam[15];

char prof[10];

int oklad;

} man;

FILE *f;

int main ()

{

int k, ch=1,rez=1;

clrscr();

man y;

/* запись структур */

f=fopen("data.dat","w");

if (f==NULL) {puts ("\n Ошибка!");exit(1);}

while (ch!=0)

{ puts ("\n Введите фамилию:");scanf("%s", y.fam);

puts ("\n Введите должность:");scanf("%s", y.prof);

puts ("\n Введите оклад:");scanf("%d", &y.oklad);

fprintf(f,"\n%15s%10s%10d",y.fam,y.prof,y.oklad);

puts("\n Продолжить? (1/0)");scanf("%d",&ch);

}

fclose(f);

/* чтение структур */

clrscr();

f=fopen("data.dat","r");

puts(" СОТРУДНИК ДОЛЖНОСТЬ ОКЛАД");

while (rez!=EOF)

{ rez=fscanf(f,"%15s%10s%10d",y.fam,y.prof,&y.oklad);

printf("\n %-15s%-10s%-10d",y.fam,y.prof,y.oklad);

}

fclose(f);

}


<== предыдущая страница | следующая страница ==>
Открытие и закрытие потока | Позиционирование в потоке

Дата добавления: 2015-06-30; просмотров: 165; Нарушение авторских прав




Мы поможем в написании ваших работ!
lektsiopedia.org - Лекциопедия - 2013 год. | Страница сгенерирована за: 0.002 сек.