русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Текстовые файлы


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


Текстовые файлы представляют собой последовательность строк различной длины, каждая из которых заканчивается меткой EOLnEnd Of Line – конец строки (последовательность символов #13#10). В конце файла стоит метка EOFEnd Of File.

Запись данных в текстовый файл практически не отличается от вывода данных на экран терминала. Чтение же данных из текстового файла имеет свои особенности.

Объявляется текстовый файл указателем на него:

FILE *f;

где fуказатель на файл – имя логического файла (файловая переменная),

FILE – служебное слово – только заглавными буквами!

Перед началом работы с файлом необходимо связать имя логического файла (файловую переменную) с соответствующим ему физическим файлом на внешнем носителе – открыть файл:

f=fopen(“путь”, “режим”);

где путь – полный путь к файлу на внешнем носителе,

режим – режим открытия файла:

r – чтение (read),

w – запись (write),

a – добавление в конец файла (append),

r+ – чтение с обновлением (r + w),

w+ – запись с обновлением,

a+ – добавление с обновлением.

FILE *f_text;

f_text=fopen(“D:/User/my_file.txt”, “w”); // по указанному
// пути создан текстовый файл
// my_file.txt
и открыт
// для записи

Если файл с таким именем уже существовал, то он очищается (из него удаляется информация).

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

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];

float sr_ball;

int ocenka;

Создадим текстовый файл my_base.txt и откроем его для записи:

FILE *f_base; // указатель на создаваемый файл

f_base=fopen(“D:/User/my_base.txt”, “w”);

Данные в базу будем вводить циклом с постусловием. Интерфейс программы:



<== предыдущая лекция | следующая лекция ==>
 | Бинарные файлы


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.805 сек.