Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
programmirovanie / ОПиАЯ_№3_9_файлы.doc
Скачиваний:
32
Добавлен:
03.03.2016
Размер:
105.47 Кб
Скачать

Int I,j;

FILE *inf,*outf;

Outf=fopen(“2.txt”,”w”);

Inf=fopen(“1.txt”,”r”);

i=1;

j=2;

fprintf(outf,”%d%d”,i,j);

fscanf(inf,”%d%d”,&i,&j);

printf(“%d%d”,i,j);

fclose(outf);

fclose(inf);

}

1.txt

34 56

ij

2.txt

1.2

путь c:\tc\

3456

fff_1

#include <GRAPHICS.h>

#include <conio.h>

#include <stdio.h>

main(int argc,char*argv[])

{

int i,j;

FILE *inf,*outf;

if(argc==0){printf(“yk imja bx byx file”);exit(-1);}

outf=fopen(argv[2],”w”);

inf=fopen(argv[1],”r”);

i=1;

j=2;

fprintf(outf,”%d %d”,&i,&j);

fscanf(inf,”%d%d”,&i,&j);

printf(“%d%d”,i,j);

fclose(outf);

fclose(inf);

}

вызов fff_1.exe 1.txt 2.txt

вх. вых.

1.txt 2.txt

34 56 1 2

Имя в панели управления ТС

Options → Arguments

fff_2

#include <GRAPHICS.h> по кол-ву строк

#include <conio.h>

#include <stdio.h>

main(int argc, char *argv[])

{

int i, j, i7;

char a[6], b[6[;

FILE *inf, *outf;

if(argc==0) {printf(“yk imja bx byx file”); exit(-1);}

outf= fopen(argv[2],”w”); outf=fopen (“2.txt”,”n”);

inf=fopen(argv[1],”r”); inf =fopen(“1.txt”,”r”);

for (i7=1; i7 <4; i7++) некорректно

{

fscanf(inf, “%d%d%s%s”,&I,&j,a,b);

fprintf(outf, “%d%d%s%s\n”,I,j,a,b);

}

fclose(outf);

fclose(inf);

}

вызов fff_2.exe 3.txt 5.txt

3.txt 5.txt

34 56 aaa fff

56 78 bbb nnn то же

11 3ccc ddd

#include <GRAPHICS.h> fff_4

#include <conio.h>

#include <string.h>

#include <stdlib.h>

#include <stdio.h>

main(int argc, char *argv[] )

{

int i, j, i7;

char a[6], b[6];

FILE *inf,*outf;

if(argc==0) {printf(“yk imja bx byx file”); exit(-1);}

outf=fopen(argv[2], “w”);

inf=fopen(argv[1], “r”);

while(feof(inf)==0) !! пока не конец файла

{

fscanf(inf, “%d%d%s%s\n”, i, j, a, b); feof(inf)

fprintf(outf,”%d%d%s%s\n”, i, j, a, b);} = 0 не конец

fclose (outf); ≠ 0 конец

fclose (inf);

}

fff_4 3.txt 7.txt

Файлы прямого доступа.

Функции fread и fwrite обрабатывают последовательности байтов. Они удобны при передаче составных данных в двоичном формате.

Функция

fread(указатель, размер, количество, имя указателя на файл)[;];

читает из файла указанное количество данных. Размер каждого данного задан в байтах. Читаемая информация помещается в область памяти, адресуемую указателем. Функция возвращает число фактически считанных данных.

К примеру, введем структуру Dic из файла F:

fread(&Dic, sizeof( Dic), 1, F);

Так как в списке аргументов установлено, что следует читать по одной структуре, то текущее значение функции равно 1. После достижения конца файла функция возвращает 0.

Функция

fwrite(указатель, размер, количество, имя указателя на файл)

пишет данные в файл. Список ее аргументов анало­гичен списку аргументов функции fread. Функция возвращает число фактически записанных данных. Например, перешлем на диск структуру DicStr:

fwrite (Dic, sizeof(DicStr), 1, F);

Следующие две функции служат для прямого доступа к байтам (обычно внутри двоичных файлов).

Функция

fseek(имя указателя на файл, смещение, откуда)[;]

перемещает файловый указатель на заданное смещением число байтов, начиная с позиции, установленной аргументом откуда. Смещение — это длинное целое, а откуда — это есть:

SEEK-SET — смещение от начала файла;

SEEK-CUR — смещение от текущей позиции файлового указателя;

SEEK-END смещение от конца файла.

При успешном выполнении функция возвращает 0. Попытка установить файловый указатель перед началом файла является ошибкой, и тогда fseek возвращает ненулевое значение.

Функция

ftell(имя указателя на файл)[;]

определяет текущую позицию файлового указателя. Она возвращает величину смещения (в байтах) относительно начала файла.

Соседние файлы в папке programmirovanie