Программирование >>  Процедурные приложения 

1 ... 19 20 21 [ 22 ] 23 24 25 ... 150


Открывает файл только для чтения; если файл не существует, открытия файла не происходит

Открывает файл как для чтения, так и для записи; если файл не [существует, открытия файла не происходит

Открывает пустой файл для записи; если файл существует, его содержимое стирается

Открывает пустой файл как для записи, так и для чтения; если файл существует, его содержимое стирается

Режимы r+, w+ и а+ позволяют как читать данные из файла, так и осуществлять их запись. При переходе от считывания к записи не забудьте модифицировать текущую позицию указателя файла с помощью функций fsetpos (), fseek()или rewind() .

f В языке С нет необходимости закрывать файлы, так как все открытые файлы закрываются автоматически по завершении программы. Впрочем, иногда требуется самостоятельно управлять этим процессом. Ниже показана версия предыдущего примера с добавлением функций закрытия файлов:

* filel.c

* Эта программа на языке С демонстрирует использование файлов как

* ввода, так и для вывода данных. Программа читает значение переменной

* forder price из файла customer.dat, вычисляет значение переменной

* fbilling price и записывает его в файл billing.dat.

#include <stdio.h> #define MIN DISCOUNT .97 #define MAX DISCOUNT .95 int main() {

float forder price, fbilling price;

FILE *fin,*fout;

fin = fopen ( customer.dat , r ); fout = fopen( billing.dat , w ); while (fscanf (fin, %f ,&forder price) != EOF) { fprintf(fout, Для заказа на сумму \t$%8.2f\n , forder price); if (forder price < 10000) fbilling price = forder price * MIN DISCOUNT;

else fbilling price = forderjirice * MAX DISCOUNT; fprintf(fout, цена со скидкой равна \t$%8.2f\n\n , fbilling price);} fclose(fin); fclose(fout) ; return(0);}

Следующая программа, написанная на языке C++, выполняет те же функции, что и рассмотренная нами программа на языке С.

file2.cpp

Эта программа на языке C++ демонстрирует использование

файлов как для

ввода, так и для вывода данных. Программа читает

значение переменной

forder price из файла customer.dat, вычисляет значение

переменной

fbilling price и записывает его в файл billing.dat.

#include <fstream.h> #include <iomanip.h>

#define MIN DISCOUNT .97 #define MAX DISCOUNT .95



int main( ) {

float forder price, fbilling price; ifstream fin( customer.dat ); ofstream fout( billing.dat ); fin >> forder price; while (Ifin.eofO){

fout << setiosflags(ios::fixed); fout << Для заказа на сумму\t\t$ << setprecision(2)

<< setw(8)<< forder price << \n ; if (forder price < 10000)

fbilling price = forder price * MIN DISCOUNT; else fbilling price = forder price * MAXDISCOUNT;

fout << цена со скидкой равна\t$

<< setw(8) << fbilling price << \n\n ; fin >> forder price; fin. close () ; fout .close () ; return(0);

Операции записи данных в файл и считывания информации из файла отличаются в языках C++ и С. Как видно из сравнения двух примеров, вместо вызова функции fopen () происходит создание двух объектов классов ifstream (содержит функции файлового ввода) и ofstream (содержит функции файлового вывода). Далее работа выполняется с помощью уже знакомых нам операторов >> и <<, а также функций форматирования setw(),setprecision () и setiosflags(). В целом в C++ для ввода/вывода данных посредством консолей и файлов используются те же операторы с тем же синтаксисом, что существенно упрощает программирование операций ввода/вывода - область программирования, всегда считавшаяся сложной и чреватой ошибками.



Глава 5. Работа с данными

Идентификаторы

Ключевые слова

Стандартные типы данных

o Символы

o Три типа целых чисел

o Модификаторы signed и unsigned

o Числа с плавающей запятой

o Перечисления

o Новый тип данных языка С++ - bool

Квалификаторы

o Квалификатор const

o Директива #define

o Квалификатор volatile

o Одновременное применение квалификаторов const и volatile

Преобразование типов данных

o Явное преобразование типов

Классы памяти

o Объявление переменных на внешнем уровне

o Объявление переменных на внутреннем уровне

o Правила определения области видимости переменных

o Объявление функций

Операторы

o Побитовые операторы

o Операторы сдвига

o Инкрементирование и декрементирование

o Арифметические операторы

o Оператор присваивания

o Комбинированные операторы присваивания

o Операторы сравнения и логические операторы

o Условный оператор

o Оператор запятая



1 ... 19 20 21 [ 22 ] 23 24 25 ... 150

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