Использование файлов для ввода- вывода информации.

Объекты, создаваемые для считывания или записи данных в файлы, называются ofstream. Они являются производными от уже рассмотренного класса iostream. Чтобы приступить к записи в файл необходимо создать объект ofstream, а потом связать его с определённым файлом на диске. Для этого требуется включение в программу файла fstream.h (в этом случае подключение файла iostream.h не нужно).

Объектами iostream поддерживаются флаги, отражающие состояние ввода-вывода. Значение их можно получить при помощи функций.

§ Eof() — возвращает TRUE, если в потоке встречается символ EOF (конец файла).

§ Bad() — возвращает TRUE при попытке ошибочной операции.

§ Fail() —возвращает TRUE как и bad(), а также если операция невыполнима сейчас.

§ Good() —возвращает TRUE, когда всё идёт хорошо.

Для открытия файла myfail.txt нужно^

· Создать поток:

1. для ввода — ifstream f1;

2. для вывода — ofstream f2;

3. для ввода и вывода — fstream f3;

· Привязать поток к файлу:

1. open(имя_файла, режим, доступ);

2. имя файла — параметр типа *char, может содержать полный путь к файлу .

3. режим — тип int, значения см. таблице.

4. доступ —тип int, задаёт права доступа к файлу (см. таб.)

Режим:
Ios::app Добавление в конец файла, только для вывода
Ios::ate Позиционирование в конец файла
Ios::binary Открытие в двоичном режиме (ввод не текста)
Ios::in Открытие файла для ввода
Ios::nocreate Открыть уже существующий файл
Ios::noreplase Создать новый, если уже есть — ошибка
Ios::out Открытие файла для вывода
Ios::trunc Открытие существующего файла с уничтожением информации в нём, длина файла ==0.
Атрибуты:
Обычный файл, со свободным доступом, по умолчанию
Только для чтения
Скрытый файл
Системный файл
Архивный файл

При использовании параметров по умолчанию можно сделать так:


F2(“d:\\user\\bs-11\\f2.dat”); или

Ifstream f1(“test.txt”);

Ofstream f2(“rez.txt’);


При окончании работы с программой необходимо использовать метод close(), закрытие файла.


F1.close();

F2.close();

#include<fstream.h>

#include<iostream.h>

Void main(void)

{ char ch;

int num=0;

char buffer[255];

ofstream fout("rez.txt");

cout<<"результат работы программы: \n";

cin.ignore(1,'\n');

Cin.getline(buffer,255);

fout<<buffer<<"\n";

Fout.close();

ifstream fin("rez.txt");

fin.unsetf(ios::skipws);

while(!fin.eof())

{fin>>ch;

cout<<ch;

num++;

}

cout <<"\n файл закончился\n число символов :"<<num<<"\n";

Fin.close();

}

результат работы программы:

укнеку нгшгнш №;%435435прорлорл рорлордло олодлод

кнеку нгшгнш №;%435435прорлорл рорлордло олодлод

Файл закончилс

число символов :50


Строки.

В языке С++ не существует тип данных — строковые, этот тип инициализируется одномерным массивом элементов типа char.

Пример: char *Family=”Орешкина\0”; char Kreek[]=” Helloy, Word!”;


#include<iostream.h>

#include <alloc.h>

#include <string.h>

#include <math.h>

void srav(char* stroka,char* string);

void srav(char* stroka,char* string)

{int i;

i=strcmp(stroka,string); // сравнение двух строк

if(i==0)i=0;

else i=(i<0)?i=-1:i=1;

cout<<"1-ое: "<<stroka<<",2-ое:"<<string<<"\n";

Switch(i)

{

case 0: cout <<"они равны\n";break;

case-1: cout <<"1-ое меньше\n";break;

case 1: cout <<"1-ое больше\n";break;

}

}

Int main(void)

{

char stroka[80],*ptr,string[80],c='*';

Int i;

cout<<"/*результат работы программы\n";

cout <<"Введите строку:";

cin >>stroka;

i=strlen(stroka);

cout<<"длина строки "<< stroka<< "="<<I << endl;

cout <<"_______"<< stroka<<"\n";

strcpy(string,stroka); //копирование второй строки в первую

cout <<"*******"<< string<<"\n";

strcat(stroka,"* Это Я") ; //добавление в первую строку второй

cout << "^^^^^^^"<<stroka<<"\n";








Дата добавления: 2015-12-26; просмотров: 711;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.012 сек.