Добавил:
ПОИТ 2016-2020 Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
40
Добавлен:
29.04.2018
Размер:
824.83 Кб
Скачать

Void main()

{ float p = 1.5, flp;

char s[] = "Text", s1[5]; char c = '\n';

FILE *fd;

fd = fopen("bbb.txt", "w");

fprintf(fd, "%s%c", s, c); //запись текста

fclose(fd);

fd = fopen("bbb.txt", "r");

fscanf(fd, "%s", s1); //считывание

for(int k = 0; k < 4; k++)

cout <<s1[k]; cout<<endl;

fclose(fd);

FILE *fa;

fa = fopen("aaa.dat", "w");

fprintf(fa, "%f", p); //запись числа

fclose(fa);

fa = fopen("aaa.dat", "r");

fscanf(fa, "%f", &flp); //считывание числа

cout<<flp<<endl;

fclose(fa);

}

Построчный ввод-вывод

int fputs (char *S, FILE *f); //запись пока не /0

char *s – адрес, из которого берутся записываемые в файл байты;  FILE *f – указатель на файл, в который производится запись.

int fgets (char *S, int m, FILE *f);//считывание

char *s – адрес, по которому размещаются считанные байты; int m – количество считываемых байтов; FILE *f – указатель на файл, из которого производится считывание.

Пример. Запись во вновь созданный файл слова Hello и его считывание.

#include <iostream>

Void main()

{ char line[23];

FILE *ff;

ff = fopen("ccc.txt", "w");

fputs( "Hello \n", ff );

fclose(ff);

FILE *stm;

stm = fopen("ccc.txt", "r" );

if( stm != 0 ) fgets(line, 22, stm);

for(int k = 0; line[k] != 0; k++)

std::cout <<line[k];

fclose(stm);

}

Пример. Копирование строк одного файла в другой

#include <stdio.h>

Void main()

{ char buf[255];

FILE *ff;

ff = fopen("ccc.txt", "w");

fputs( "Hello \n", ff );

fclose(ff);

FILE *in, *out; //исход. и принимающий файлы

in = fopen("ccc.txt", "r");

out = fopen("ddd.txt", "w");

while (fgets(buf, 255, in) != NULL)

fputs (buf, out);

fclose(in); fclose(out);

}

Для считывания данных может использоваться также функция:

char *fgets(char *s, int n, FILE *F);

char *s – адрес, по которому размещаются считанные байты; int n – количество считываемых байтов; FILE *fp – указатель на файл, из которого производится считывание.

Int fgets (char *s, int m, file *f);

Прием символов заканчивается после передачи n байтов или при получении \n. Управляющий символ \n тоже передаетс я в принимающую строку. В любом случае строка заканчивается \0

При успешном завершении считывания, функция возвращает указатель на прочитанную строку, иначе возвращает NULL.

Для записи данных может использоваться функция:

char *fputs(char *s, FILE *F);

char *s – адрес, из которого берутся записываемые в файл байты;  FILE *fp – указатель на файл, в который производится запись.

Int fputs (char *s, file *f);

Посимвольный ввод-вывод

int fgetc (FILE *f) //считывание

int fputc(int ch, FILE *f) //запись

// используются коды символов

Пример. Посимвольная запись текста This is.

#include <stdio.h>

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