Студопедия

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

КАТЕГОРИИ:

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






Форматный обмен с файлами






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

int fprintf (указатель_на_поток, форматная_строка, список_переменных);

Использовавшаяся нами ранее функция printf () для организации вывода на экран является частным вариантом функции fprintf (). Функция printf () работает лишь со стандартным потоком stdin, который всегда связывается системой с дисплеем. Не будет ошибкой, если в программе вместо printf () написать fprintf (stdin, …).

Правила использования спецификаторов форматов при записи в файлы на диске точно такие же, как и при выводе на экран.

Пример 5. Составим программу, по которой будет рассчитана и записана в файл таблица квадратных корней для целых чисел от 1 до 10. Для контроля эта же таблица выводится на экран.

//Таблица квадратных корней

#include < stdio.h>

#include < iostream.h>

#include < math.h>

void main()

{ FILE *fp;

int x;

fp = fopen(“test.dat”, “w”);

//Вывод на экран и в файл шапки таблицы

printf(“\t Таблица квадратных корней \n”);

fprintf(fp, “\t Таблица квадратных корней \n ”);

printf(“\t x\t\tsqrt(x) \n”);

fprintf(fp, “\t x\t\tsqrt(x) \n ”);

\\Вычисление и вывод таблицы квадратных корней

\\на экран и в файл

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

{ printf(“\t%f\t%f\n”, float(x), sqrt(float(x)));

fprintf(fp, “\t%f\t%f\n”, float(x), sqrt(float(x)));

}

fclose(fp); }

Форматный ввод из текстового файла осуществляется с помощью функции fscanf (), общий формат которой выглядит следующим образом:

int fscanf(указатель_на_поток, форматная_строка, список_адресов_переменных);

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

В следующем примере числовые данные из файла test.dat, полученного в результате выполнения предыдущей программы, вводятся в числовые массивы x и y. Для контроля значения элементов массивов выводятся на экран. Предварительно с помощью текстового редактора в файле test.dat удаляются две первые строки с заголовками. В результате в файле останутся только числа.

Пример 6.

\\Ввод чисел из файла

#include < stdio.h>

#include < iostream.h>

#include < math.h>

void main()

{ FILE *fp;

int i;

float x [10], y [10];

fp = fopen(“test.dat”, ”r”);

for (i = 0; i< 10; i++)

{ fscanf(fp, “%f%f”, & x[i], & y[i]);

printf(“%f %f\n”, x[i], y[i]);

}

fclose(fp);

}

Порядок выполнения работы

1. Изучить теоретические сведения.

2. Выполнить задание.


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.006 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал