Бородка благостна, да душа пакостна.
Ахха! Вот мы и подошли к страшно простецкий, но ОЧЕНЬ шаманской теме, ибо файловые потоки без бубна работайут зверски редко (в моих кривых руках))
Кстати сказать, вообще говоря любая работа с файлами подразумевает исчерпание потоков. И вообще, потоками реализован весь ввод-выход в C/C++, но на лабах "потоковой" называется работа с файлами через библиотеку fstream.
Итак.
Отсюда следует, для введение нужно как техминимум подключить библиотеку fstream.h:
#include <fstream.h>
Затем зажечь файловый полчище для необходимого файла:
ifstream myFStr; //для чтения ofstream myFStr; //для записи fstream myFStr; //для любых операций
Вслед за этим нужно связать поток с нужным файлом:
myFStr.open(filename [, метод открытия]);
Методы открытия:
ios::app ios::ate ios::binary ios::in ios::out ios::trunc
Их можно совмещать логической операцией "ИЛИ", т.е.
myFStr.open(filename, ios::in | ios::out); //откроет файл filename для чтения и записи
Но в 99% случаев вам это не понадобится, так как настоящий параметр задан по умолчанию (для каждого типа потоков бьющийся) и его хоть потупить:
myFStr.open(filename);
Потом, по-хорошему, нужно расследовать, открылся ли обложка:
if (!myFSTR) { //Обложка не открылся, паникуем }
Еще можно проверить, открылся ли файл, вызвав функцию is_open();
if (!myFSTR.is_open()) { //Файл не открылся, паникуем }
Так типа корректнее.
В общем, после всех этих манипуляций мы получили рабочий файловый легион, открытый как нам стоит.
Можем делать с ним все что не терпится с помощью операций потокового ввода-вывода (<< >>)
Как:
myFStr<<"Тостеры"<<39,95<<endl; myFStr<<"Миксеры"<<24,95<<endl;
а потом
char item[20]; float cost; myFStr>>item>>cost; cout<<item<<" "<<cost<<endl; myFStr>>item>>cost; cout<<item<<" "<<cost<<endl;
Теперича все это следует закрыть:
myFStr.close();
Вот
Все
Упарился
Тимати в стороне
Преимущества
Сколько нужно мужику денег в месяц, чтобы питаться в приморье!
Комментариев нет:
Отправить комментарий