|
Программирование >> Элементы языков с и с++
namespace F { float X = 9; namespace G ( using namespace F; /*здесь само пространство G использует пространство F и в нем же объявляется еще одно пространство: INNER G*/ float у = 2.0; namespace INNER G { float z = 10.01; } G int tii!ain() { using namespace G; /*эта директива позволяет пользоваться всем, объявленным в G */ using namespace G::INNER G; /*эта директива позволяет пользоваться всем, объявленным только в INNER G */ float X = 19.1; /*локальное объявление переопрэеделяет предыдущее */ stcl::cout х = х std::endl; std::cout у = у std::endl; /* у берется из пространства F*/ std::cout z = z std::endl; /* z берется из пространства INNERG*/ getch(); 212 /♦Результат: X = 19.1 у = 2 Z = 10.01 */ Гпава J t C:\WINDOWS\system32Vcmd.exe X = : у = 2 г = 10.01 Оля проАолжения нажмите лиеую клавишу Рис. 9.7. Результат работы программы листинга 9.9 std: :cout - ЭТО стандартный вывод. Его мы рассмотрим чуть позже. Здесь показано, что объект cout принадлежит пространству имен std. Мы могли бы в основной программе записать: using namespace::std; Тогда бы вместо std:: cout можно было бы писать просто cout. Итак, при составлении программы с использованием поточных файлов в начале основной программы следует записать директиву: using namespace std; Работа с классом fstream Члены этого класса позволяют открыть файл, записать в него данные, переместить указатель позиционирования (указатель, показывающий, в каком месте файла мы находимся), прочитать данные. Этот класс имеет такие основные функции (методы): П open о -открывает файл; П close О -закрывает файл; П isopeno - если файл открыт, то функция возвращает true, иначе- false; П rdbuf () - выдает указатель на буфер ввода/вывода. Кинг 9.10 38.срр : Defines the entry point for the console application. linclude stdafx.h iinclude< f St ream> *:nclude<iostream> i.nclude <conio.h> include <stdio.h> Параметры функции open (): О имя открываемого файла; □ способ открытия файла. Способ открытия файла задается значением перечислимой переменпбй: enum openjnode {app,binary,in,out,trunc,ate}; Эта переменная определена в базовом классе ios, поэтому обращение к перечислимым значениям в классе f stream, с экземпляром которого мы работаем, должно идти с указанием класса-родителя: ios:: арр, ios: -.binary и т. д. Назначение способов открытия файла: П арр - открыть файл для дозаписи в его конец; П binary - открыть файл в бинарном виде (такие файлы были записаны по определенной структуре данных и поэтому должны читаться по этой же структуре); □ in - открыть файл для чтения из него; О out - открыть файл для записи в него. Если файл не существует, он будет создан; П trunc - уничтожить содержимое файла, если файл существует (очистить файл); 3 ate - установить указатель позиционирования файла на его конец. При задании режимов открытия файла можно применять оператор логического или (), чтобы составлять необходимое сочетание режимов открытия. В листинге 9.10 приведен пример программы работы с классом f stream, результат работы показан на рис. 9.8.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |