Текстовые файлы примеры программ

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

На этом уроке мы рассмотрим, как используются текстовые файлы для ввода и вывода данных в программе на языке Паскаль.

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

Общая последовательность действий при работе с файлами в языке программирования Паскаль:

  1. описать переменную файлового типа;
  2. связать ее с конкретным физическим файлом процедурой Assign;
  3. открыть файл для чтения процедурой ReSet или для записи процедурой ReWrite;
  4. выполнить чтение или запись информации;
  5. по окончании работы с файлом закрыть файл процедурой Close.

Описание переменной файлового типа

С текстовым файлом на диске в программе должна быть связана файловая переменная, которая описывается с указанием стандартного типа Text:

Текстовые файлы в с++ | программа с использованием файлов


Var : Text;

Связь переменной файлового типа с конкретным внешним файлом

Для установления связи между файловой переменной и именем файла, присваиваемого операционной системой, имеется стандартная процедура Assign.

Такое соответствие обозначает, что все операции, выполняемые над переменной F1, будут выполняться над файлом, хранящемся на диске и имеющим имя ‘Int.dat’

Чтение из файла

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

Для чтения файла в программе необходимо выполнить следующие действия:

Открыть файл для чтения:

Прочитать данные файла в программу с помощью процедуры Read или Readln .

Процедура Read последовательно считывает все элементы строки:

Процедура Readln – считывает элемент из текущей строки и переходит на следующую строку (независимо от того, достигнут конец строки или нет):

Если не указывать второй параметр, то произойдет переход в начало следующей строки без ввода данных:

Закрытие файла

После завершения работы с файлом, его нужно закрыть и «освободить» файловую переменную . Это делается с помощью процедуры Сlose.

Общий вид оператора:

Общая форма чтения файла имеет вид:

Многоточием отмечено наличие других операторов в программе.

Признак конца файла

Так как, по определению, число элементов файла не задается заранее, то в языке Паскаль введена логическая функция Eof() для определения признака конца файла.

Общий вид функции:

Она определяет, достигнут ли конец файла или еще нет (принимает значение (true), если достигнут конец файла, и ложь (false) — в противном случае).

Для определения конца файла используется оператор цикла, например, (пока не достигнут конец файла …):

Работа с файлами с++. Запись в файл. c++ ofstream. Изучение С++ для начинающих. Урок #115

Запись в файл

Под записью файла понимается вывод результатов программы из оперативной памяти на диск, т.е. создание нового файла на внешнем устройстве.

Читайте также:
Как установить программу автоком на планшет

Для записи файла в программе необходимо выполнить следующие действия:

Открыть файл для записи с помощью процедуры Rewrite:

Записать данные в файл спомощью процедур Write или Writeln.

Процедура Write производит запись поэлементно в текущую строку:

Процедура WriteLn записывает элемент и переводит указатель в начало следующей строки:

Если не указывать второй параметр процедуры, то в конце данной строки ставится признак конца файла и текущий указатель перемещается на начало следующей строки:

После завершения работы с файлом его закрытие обязательно.

Общая форма записи файла имеет вид:

Логическая функция Eoln()

Часто для обработки текстовых файлов используется специфичная для них функция Eoln(), позволяющая определить, достигнут ли конец строки. Если достигнут — значение функции равно True, а если нет — False.

Таким образом, для анализа конкретных символов строк файла можно применить вложенный цикл типа:

while not Eoln(FileName) do begin end;

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

Пусть в файле содержится следующая информация:

-32 16 0 8 7
4 5 9 13 11 -5 -8
6 -8 0 12
1 2
-1 -2 -4
-1 -2 4

Этот файл можно создать в среде Паскаль следующим образом:

  1. Создать новый файл (команда Файл-Новый).
  2. Записать все числа в строке через пробелы.
  3. Сохранить его, например, как ‘primer1.dat’.
    Для этого в диалоговом окне сохранения файла в списке Тип файла выбрать Все файлы. В поле Имя файла ввести полное имя файла (имя с расширением).

Программа будет иметь следующий вид:

program Primer_1; var f:text; x,k: integer; begin assign(F,’primer1.dat’); reset(F); while not eof(f) do begin k:=0; while not eoln(f)do begin read(f,x); write(x,’ ‘); inc(k); end; writeln(‘в строке ‘,k,’ элементов’); readln(f); end; close(f); end.

На этом уроке было рассмотрено, как использовать текстовые файлы для ввода и вывода данных в программе на языке Паскаль.
На следующем уроке Вы узнаете, как использовать тип данных Bulean для представления данных логического типа.
Следующий урок: Логический тип данных

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

Источник: gospodaretsva.com

Использование Visual C# для чтения и записи в текстовый файл

В этой статье описано, как выполнить чтение и запись в текстовый файл с помощью Visual C#.

Оригинальная версия продукта: Visual Studio
Оригинальный номер базы знаний: 816149

Сводка

В разделе Чтение текстового файла этой статьи описывается, как использовать класс StreamReader для чтения текстового файла. В разделах Запись в текстовый файл (пример 1) и Запись в текстовый файл (пример 2) описывается, как использовать класс StreamWriter для записи текста в файл.

Чтение текстового файла

В следующем коде используется класс StreamReader для открытия, чтения и закрытия текстового файла. Можно передать путь к текстовому файлу в конструктор StreamReader для автоматического открытия файла. Метод ReadLine считывает каждую строку текста и перемещает указатель файла на следующую строку по мере чтения. Если метод ReadLine достигает конца файла, он возвращает пустую ссылку. Дополнительные сведения см. в разделе Класс StreamReader.

  1. Создайте пример текстового файла в Блокноте. Выполните приведенные ниже действия.
  1. Вставьте текст hello world в Блокнот.
  2. Сохраните файл как Sample.txt.

using System.IO;
String line; try < //Pass the file path and file name to the StreamReader constructor StreamReader sr = new StreamReader(«C:\Sample.txt»); //Read the first line of text line = sr.ReadLine(); //Continue to read until you reach end of file while (line != null) < //write the line to console window Console.WriteLine(line); //Read the next line line = sr.ReadLine(); >//close the file sr.Close(); Console.ReadLine(); > catch(Exception e) < Console.WriteLine(«Exception: » + e.Message); >finally
Hello world

Читайте также:
Как удалить программу с помощью revo

Запись в текстовый файл (пример 1)

В следующем коде используется класс StreamWriter для открытия, записи и закрытия текстового файла. Аналогично тому, как используется класс StreamReader , можно передать путь к текстовому файлу в конструктор StreamWriter для автоматического открытия файла. Метод WriteLine записывает всю текстовую строку в текстовый файл.

  1. Запустите Visual Studio.
  2. В меню Файл выберите пункт Создать, а затем выберите Проект.
  3. Выберите Проекты Visual C# в разделе Типы проектов, а затем выберите Консольное приложение в разделе Шаблоны.
  4. Добавьте следующий код в начало файла Class1.cs:

using System.IO;
try < //Pass the filepath and filename to the StreamWriter Constructor StreamWriter sw = new StreamWriter(«C:\Test.txt»); //Write a line of text sw.WriteLine(«Hello World!!»); //Write a second line of text sw.WriteLine(«From the StreamWriter class»); //Close the file sw.Close(); >catch(Exception e) < Console.WriteLine(«Exception: » + e.Message); >finally
Hello World!! From the StreamWriter class

Запись в текстовый файл (пример 2)

В следующем коде используется класс StreamWriter для открытия, записи и закрытия текстового файла. В отличие от предыдущего примера, этот код передает в конструктор два дополнительных параметра. Первый параметр — путь к файлу и имя файла. Второй параметр, true , указывает, что файл открыт в режиме добавления.

Если вы задаете false для второго параметра, содержимое файла перезаписывается при каждом запуске кода. Третий параметр задает Unicode , чтобы кодирование файла в StreamWriter выполнялось в формате Юникода. Можно также указать следующие методы кодирования для третьего параметра:

Метод Write аналогичен методу WriteLine , за исключением того, что метод Write не вставляет автоматически сочетание символов возврата каретки или перевода строки (CR/LF). Это полезно, когда нужно одновременно записывать по одному символу.

  1. Запустите Visual Studio.
  2. В меню Файл выберите пункт Создать и затем пункт Проект.
  3. Нажмите Проекты Visual C# в разделе Типы проектов, а затем нажмите Консольное приложение в разделе Шаблоны.
  4. Добавьте следующий код в начало файла Class1.cs:

using System.IO; using System.Text;
Int64 x; try < //Open the File StreamWriter sw = new StreamWriter(«C:\Test1.txt», true, Encoding.ASCII); //Write out the numbers 1 to 10 on the same line. for(x=0; x < 10; x++) < sw.Write(x); >//close the file sw.Close(); > catch(Exception e) < Console.WriteLine(«Exception: » + e.Message); >finally

Полный код сборки для чтения текстового файла

//Read a Text File using System; using System.IO; namespace readwriteapp < class Class1 < [STAThread] static void Main(string[] args) < String line; try < //Pass the file path and file name to the StreamReader constructor StreamReader sr = new StreamReader(«C:\Sample.txt»); //Read the first line of text line = sr.ReadLine(); //Continue to read until you reach end of file while (line != null) < //write the lie to console window Console.WriteLine(line); //Read the next line line = sr.ReadLine(); >//close the file sr.Close(); Console.ReadLine(); > catch(Exception e) < Console.WriteLine(«Exception: » + e.Message); >finally < Console.WriteLine(«Executing finally block.»); >> > >

Полный код сборки для записи в текстовый файл (версия 1)

//Write a text file — Version-1 using System; using System.IO; namespace readwriteapp < class Class1 < [STAThread] static void Main(string[] args) < try < //Pass the filepath and filename to the StreamWriter Constructor StreamWriter sw = new StreamWriter(«C:\Test.txt»); //Write a line of text sw.WriteLine(«Hello World!!»); //Write a second line of text sw.WriteLine(«From the StreamWriter class»); //Close the file sw.Close(); >catch(Exception e) < Console.WriteLine(«Exception: » + e.Message); >finally < Console.WriteLine(«Executing finally block.»); >> > >

Читайте также:
Как установить программу пирс

Полный код сборки для записи в текстовый файл (версия 2)

//Write a text file — Version 2 using System; using System.IO; using System.Text; namespace readwriteapp < class Class1 < [STAThread] static void Main(string[] args) < Int64 x; try < //Open the File StreamWriter sw = new StreamWriter(«C:\Test1.txt», true, Encoding.ASCII); //Writeout the numbers 1 to 10 on the same line. for(x=0; x < 10; x++) < sw.Write(x); >//close the file sw.Close(); > catch(Exception e) < Console.WriteLine(«Exception: » + e.Message); >finally < Console.WriteLine(«Executing finally block.»); >> > >

Устранение неполадок

Перенос кода в блок try-catch-finally для обработки ошибок и исключений является хорошей практикой программирования, когда речь заходит о выполнении любых операций с файлом. В частности, может потребоваться освободить дескрипторы файла в окончательном блоке, чтобы файл не был заблокирован на неопределенный срок. Некоторые возможные ошибки включают файл, который не существует, или файл, который уже используется.

Обратная связь

Были ли сведения на этой странице полезными?

Источник: learn.microsoft.com

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

Текстовые файлы представляют собой совокупность символов, разделенных на строки, причем в конце каждой строки стоит признак конца строки. Особенностью работы с текстовыми файлами является то, что параметры, значения которых вводятся и выводятся с помощью процедур READ или WRITE, могут быть не только типа String или Char, но и других типов (целых, вещественных — при вводе, целых, вещественных, логических — при выводе).

При работе с текстовыми файлами необходимо, прежде всего, объявить соответствующую файловую переменную:

Начало работы с текстовым файлом — стандартное: файловой переменной ставится в соответствие имя файла (процедура Assign), а затем открывается новый текстовый файл (процедура Rewrite) или открывается существующий текстовый файл (процедура Reset).

Далее в таблице представлены процедуры и функции для работы с текстовыми файлами.

Процедуры и функции для работы с текстовыми файлами

Открытие существующего файла.

Открывается существующий файл, с которым связана файловая переменная F и указатель текущего компонента файла перемещается на конец файла.

F- переменная любого файлового типа.

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

Чтение из файла.

Чтение строки из файла.

Назначение буфера ввода- вывода.

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

Запись в файл.

Запись строки в файл.

Коней строки файла.

Конец файла.

Пример программы работы с текстовым файлом

Name, New_Name : string[12] ;

Write(‘Введите имя файла для считывания текста: ‘);

if IOresult<>0 then

Writeln(‘Файл не найден. ‘);

Writeln(‘Файл ‘ ,Name, ‘ : ‘) ;Writeln;

while not Eof(Fl) do

Write(‘Файл считан, нажмите Enter. ‘);Readln;

Writeln(‘Файл ‘,Name,’ открыт для присоединения нового текста ‘) ;

Writeln(‘Вводите текст для записи(для окончания нажмите Enter) :’);

Writeln(‘Присоединение нового текста окончено, нажмите Enter. ‘);

Writeln(‘Файл ‘,Name,’ удален с диска, нажмите Enter. ‘);

Write(‘Введите новое имя файла: ‘);

Writeln(‘Файл’,Name,’переименован в ‘,New_Name,’,нажмите Enter. ‘);

Write(‘Введите имя файла, в который копируется файл ‘, Name);

while not Eof(Fl) do

Writeln (Fl_New, Txt) ;

Write(‘Файл ‘,Name,’ скопирован в ‘,New_Name,’, нажмите Enter. ‘);

Write(‘Удалить файл (D),переименовать(R),скопировать(С),Выход(Е) ‘);

Источник: studfile.net

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru