Чтение информации из текстового файла
Запись информации в текстовый файл Как было сказано ранее, для того чтобы начать работать с текстовым файлом, необходимо описать переменную типа ofstream. Например, так: ofstream F; Будет создана переменная F для записи информации в файл. На следующим этапе файл необходимо открыть для записи. В общем случае оператор открытия потока будет иметь вид: F.open(«file», mode); Здесь F — переменная, описанная как ofstream, file — полное имя файла на диске, mode — режим работы с открываемым файлом. Обратите внимание на то, что при указании полного имени файла нужно ставить двойной слеш. Для обращения, например к файлу accounts.txt, находящемуся в папке sitesна диске D, в программе необходимо указать: D:\\sites\\accounts.txt. Файл может быть открыт в одном из следующих режимов:
Параметр mode может отсутствовать, в этом случае файл открывается в режиме по умолчанию для данного потока. После удачного открытия файла (в любом режиме) в переменной F будет храниться true, в противном случае false. Это позволит проверить корректность операции открытия файла. Открыть файл (в качестве примера возьмем файл D:\\sites\\accounts.txt) в режиме записи можно одним из следующих способов:
После открытия файла в режиме записи будет создан пустой файл, в который можно будет записывать информацию. Если вы хотите открыть существующий файл в режиме дозаписи, то в качестве режима следует использовать значение ios::app. После открытия файла в режиме записи, в него можно писать точно так же, как и на экран, только вместо стандартного устройства вывода cout необходимо указать имя открытого файла. Например, для записи в поток Fпеременной a, оператор вывода будет иметь вид: F<<a; Для последовательного вывода в поток G переменных b, c, d оператор вывода станет таким: G<<b<<c<<d; Закрытие потока осуществляется с помощью оператора: F.close(); В качестве примера рассмотрим следующую задачу. Задача 1 Создать текстовый файл D:\\sites\\accounts.txt и записать в него n вещественных чисел. Решение
Int main() { ofstream out("C:\\FromC\\myfile.txt"); // Открываем файл для записи out<<"HelloWorld<<"\n"; //Записываем первую строчку out<<"UraRabotaet!!!"; //Записываем вторую строчку Out.close(); //Закрываем файл return 0; } Чтение информации из текстового файла Для того чтобы прочитать информацию из текстового файла, необходимо описать переменную типа ifstream. После этого нужно открыть файл для чтения с помощью оператора open. Если переменную назвать F, то первые два оператора будут такими:
После открытия файла в режиме чтения из него можно считывать информацию точно так же, как и с клавиатуры, только вместо cin нужно указать имя потока, из которого будет происходить чтение данных. Например, для чтения данных из потока F в переменнуюa, оператор ввода будет выглядеть так: F>>a; Два числа в текстовом редакторе считаются разделенными, если между ними есть хотя бы один из символов: пробел, табуляция, символ конца строки. Хорошо, когда программисту заранее известно, сколько и какие значения хранятся в текстовом файле. Однако часто известен лишь тип значений, хранящихся в файле, при этом их количество может быть различным. Для решения данной проблемы необходимо считывать значения из файла поочередно, а перед каждым считыванием проверять, достигнут ли конец файла. А поможет сделать это функция F.eof(). Здесь F— имя потока функция возвращает логическое значение: true или false, в зависимости от того достигнут ли конец файла. Следовательно, цикл для чтения содержимого всего файла можно записать так:
Для лучшего усвоения материала рассмотрим задачу. Задача 2 В текстовом файле D:\\game\\accounts.txt хранятся вещественные числа, вывести их на экран и вычислить их количество. Решение
На этом относительно объемный урок по текстовым файлам закончен. В следующей статье будут рассмотрены методы манипуляции, при помощи которых в C++ обрабатываются двоичные файлы.
Популярное: Как построить свою речь (словесное оформление):
При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою... Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ... Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы... ![]() ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (779)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |