русс | укр

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

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

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

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


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

Использование файлов для ввода-вывола C++

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

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

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

  • Eof() — возвращает TRUE, если в потоке встречается символ EOF (конец файла).
  • Bad() — возвращает TRUE при попытке ошибочной операции.
  • Fail() —возвращает TRUE как и bad(), а также если операция невыполнима сейчас.
  • Good() —возвращает TRUE, когда всё идёт хорошо.

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

  •  Создать поток:
    • для ввода — ifstream f1;
    • для вывода — ofstream f2;
    • для ввода и вывода — fstream f3;
  •  Привязать поток к файлу:
    • open(имя_файла, режим, доступ);
    • имя файла — параметр типа *char, может содержать полный путь к файлу .
    • режим — тип int, значения см. таблице.
    • доступ —тип int, задаёт права доступа к файлу (см. таб.)

Режим:

Ios::app

Добавление в конец файла, только для вывода

Ios::ate

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

Ios::binary

 Открытие в двоичном режиме (ввод не текста)

Ios::in

Открытие файла для ввода

Ios::nocreate

Открыть уже существующий файл

Ios::noreplase

Создать новый, если уже есть — ошибка

Ios::out

Открытие файла для вывода

Ios::trunc

Открытие существующего файла с уничтожением информации в нём, длина файла ==0.

Атрибуты:

0

Обычный файл, со свободным доступом, по умолчанию

1

Только для чтения

2

Скрытый файл

4

Системный файл

8

Архивный файл

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

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";
           srav(string,stroka);
            srav(stroka,stroka);
            srav(stroka,string);
           ptr = strchr(stroka, c);                  // проверка на вхождение символа.
           if (ptr)
cout << "Символ "<< c <<" находится на " << ptr-stroka+1 << "позиции\n" ;
else
cout<<"Этого символа нет в строке";
           cout<<"*//";
return 0;
}

 

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

Введите строку: Привет
длина строки Привет=6
_______Привет
*******Привет
^^^^^^^Привет* Это Я
1-ое: Привет,2-ое:Привет* Это Я
1-ое меньше
1-ое: Привет* Это Я,2-ое:Привет* Это Я
они равны
1-ое: Привет* Это Я,2-ое:Привет
1-ое больше

Символ * находится  на 7позиции

Просмотров: 18891

Вы можете --> Заказать программу или Задать вопрос на форуме

Вернуться воглавление


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


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

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

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


 


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

 
 

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