Программирование >>  Расширенная версия языка c++ 

1 ... 88 89 90 [ 91 ] 92 93 94 ... 227


Примеры *

1. В представленной ниже программе создается файл для вывода, туда записывается информация, и файл закрывается. Затем файл снова открывается уже в качестве файла для ввода, и записанная ранее информация оттуда считывается:

tfinclude <iostream> ttinclude <fstreain>

using namespace std;

int main () i

ofstream fout( test ); создание файла для вьшода

if(!fout) {

cou Файл открыть невозмоя:но\п ;

return 1;

fout Привет!\n ;

fout 100 hex 100 endl; fout.close();

ifstream fin ( test ); открытие файла для ввода -

if(]fin) {

cou::-: Файл открыть невоэможноХп ;

return 1;

char str[80] ;

int i;

cout str 1 endl; fin. close () ;

return ; .

наоборот, любой файл, содержимое которого считывается с помощью оператора , должен быть файлом с отформатированным текстом. То есть, как правило, файлы с отформатированным текстом, которые вы будете обрабатывать, используя операторы и , следует открывать в текстовом, а не в двоичном режиме. Двоичный режим больше подходит для неотформа-тированных файлов, о которых в этой главе будет рассказано позже.



ftinclude <iostream> л?-?. . Л

#include <fstream>

using namespace std; . .

int mainjint argc, char *argv[]) . , ,

if(argc! = 2) {

cout Введете <У1МЯ фаЙла>\п ;

return 1; ...

} . .

ofstream out (argv[l] ) ; файл для. вывода

if(lout) {

cout Файл открыть невозможно\n ; return 1 ;

) ,. . -

char str[80] ;

cou Вводите строки; для окончания ввода введите $\п ;

do {

cout : ; cin str; out << str endl; } while (*Str != 5 ) ;

out. close () ; -. . ,

return 0;

j ... . .

3. В следующей программе копируется текстовый файл и при этом пробелы

превращаются в символы [. Обратите внимание, как для контроля кониа файла для ввода используется функция eof(). Также обратите внимание, как

После того как программа завершится, проанализируйте содержимое файла

test. Оно будет следующим:

Привет! ,\.

100 64 / \

Как уже установлено, при использовании операторов и для реализаЦИИ файлового ввода/вывода, информация форматируется так л:-, как если бы она находилась на экране.

2. Рассмотрим другой пример файлового ввода/вывода. В этой программе введенные с клавиатуры строки считываются и записываются в файл. Программа завершается при вводе знака доллара $ в качестве первого символа строки. Для использования программы в командной строке задайте имя файла для вывода.



fin.close() ; fout.close();

return 0;

4. Между исходной библиотекой ввода/вывода C++ и библиотекой ввода/вывода современного стандарта Standard C++ имеются некоторые отличия, которые необходимо учитывать при модернизации старых программ. Во-первых, в исходной библиотеке ввода/вывода C++ у функции ореп() имеется третий параметр, задающий режим защиты файла. По умолчанию это режим обычного файла. В современной библиотеке C++ указанный параметр не поддерживается.

Во-вторых, при работе со старой библиотекой для открытия потока ввода/вывода fstream необходимо явно указать значения режима открытия файла

поток ввода fin воспринимает сброс флага skipws. Это предотвращает пропуск пробелов в начале строк.

Превращение пробелов в вертикальные линии

ftinclude <iostreajii> iii .

ttinclude <fstream> using namespace std;

in (int argc, char *argv[])

t . :..

if(argc!=3) { - -

cout < Преобразование <файл Бвола> <файл выБОда>\п ;

return 1 ;

, }

ifstream fin(argv[i] ) ; открытие файла для ввода

ofstream fout (argv[2]) ; создание файла для вывода

if(lout) { . .

cou Файл открыть невозможно\п ;

return 1;

}

if(!fin) {

cou Файл открыть .невозшожно\п ; .

return 1;

char ch;

fin.unsetf(ios: ;skipws); не пропускать пробелы , - .,

while (!fin,eof() ) {

fin ch;

if(ch= ) ch = I

if( I fin.eof 0 ) fout ch;



1 ... 88 89 90 [ 91 ] 92 93 94 ... 227

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика