Fprintf(указатель на файл, формат вывода, список вывода);
Пример 1: записать в файл my_file.txt построчно значения элементов следующего массива mass34 :
1 2 3 4
5 6 7 8
9 10 11 12
Программа:
const int n=3;
const int m=4;
const int k=m*m;
Int i, j;
int mass[n][m]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
int vector[k];
FILE *f_text;
f_text=fopen(“D:/User/my_file.txt”, “w”); // файл открыт
// для записи
for (i=0; i<n; i++)
{
for (j=0; j<m; j++)
fprintf(f_text, “%5d”, mass[i][j]);
fprintf(f_text, “\n”);
}
fclose(f_text); //после записифайл обязательно закрыть!
Структура файла my_file.txt:
1 2 3 4
5 6 7 8
9 10 11 12
Внимание! При записи чисел в текстовый файл оставлять между ними хотя бы по одному пробелу!
Перед чтением данных из файла его необходимо открыть для чтения:
f=fopen(“путь”, “r”);
Если файл не найден, то значение указателя f будет равно NULL.
Форматированное чтение (ввод) из файла осуществляется функцией:
Fscanf(указатель на файл, формат ввода, список ввода);
Прочитаем созданный файл и запишем числа в вектор vector16:
f_text=fopen(“D:/User/my_file.txt”, “r”); // файл открыт
// для чтения
for (i=0; i<k; i++) // обнуляем вектор
vector[i]=0;
i=0; // индекс очередного элемента
while (!feof(f_text)) // пока не конец файла
{
fscanf(f_text, “%d”, &j); // читаем из него данные
vector[i]=j; // и записываем в вектор
i++;
}
printf("\nVector_1:\n");
for (i=0; i<k; i++)
printf("%4d", vector[i]);
printf("\n");
На экран будет выведено:
Vector_1:
1 2 3 4 5 6 7 8 9 10 11 12 0 0 0 0
Добавим в последнюю строку файла последовательность чисел 4, 3, 2, 1:
f_text=fopen(“D:/User/my_file.txt”, “a”); // файл открыт
// для добавления
for (i=4; i>0; i--)
fprintf(f_text, “%5d”, i);
fprintf(f_text, “\n”);
fclose(f_text); //после записифайл обязательно закрыть!
Структура файла my_file.txt:
1 2 3 4
5 6 7 8
9 10 11 12
4 3 2 1
Снова прочитаем созданный файл и запишем числа в вектор vector16:
f_text=fopen(“D:/User/my_file.txt”, “r”); // файл открыт
// для чтения
for (i=0; i<k; i++) // обнуляем вектор
vector[i]=0;
i=0; // индекс очередного элемента
while (!feof(f_text)) // пока не конец файла
{
fscanf(f_text, “%d”, &j); // читаем из него данные
vector[i]=j; // и записываем в вектор
i++;
}
printf("\nVector_2:\n");
for (i=0; i<k; i++)
printf("%4d", vector[i]);
printf("\n");
На экран будет выведено:
Vector_2:
1 2 3 4 5 6 7 8 9 10 11 12 4 3 2 1
Пример 3: создать базу данных на текстовом файле my_base.txt - в каждой его строке записать следующие данные о студентах:
группа – строка длиною 10 символов,
фамилия - строка длиною 20 символов,
имя - строка длиною 10 символов,
ср. балл сессии – вещественное число,
оценка по информатике – целое число.
Опишем исходные данные:
char gruppa[10];
char fam[20];
char name[10];
Дата добавления: 2015-10-19; просмотров: 1835;