» » » Джесс Либерти - Освой самостоятельно С++ за 21 день.


Авторские права

Джесс Либерти - Освой самостоятельно С++ за 21 день.

Здесь можно скачать бесплатно "Джесс Либерти - Освой самостоятельно С++ за 21 день." в формате fb2, epub, txt, doc, pdf. Жанр: Программирование. Так же Вы можете читать книгу онлайн без регистрации и SMS на сайте LibFox.Ru (ЛибФокс) или прочесть описание и ознакомиться с отзывами.
Джесс Либерти - Освой самостоятельно С++ за 21 день.
Рейтинг:
Название:
Освой самостоятельно С++ за 21 день.
Издательство:
неизвестно
Год:
неизвестен
ISBN:
нет данных
Скачать:

99Пожалуйста дождитесь своей очереди, идёт подготовка вашей ссылки для скачивания...

Скачивание начинается... Если скачивание не началось автоматически, пожалуйста нажмите на эту ссылку.

Вы автор?
Жалоба
Все книги на сайте размещаются его пользователями. Приносим свои глубочайшие извинения, если Ваша книга была опубликована без Вашего на то согласия.
Напишите нам, и мы в срочном порядке примем меры.

Как получить книгу?
Оплатили, но не знаете что делать дальше? Инструкция.

Описание книги "Освой самостоятельно С++ за 21 день."

Описание и краткое содержание "Освой самостоятельно С++ за 21 день." читать бесплатно онлайн.



В книге широко представлены возможности новейшей версии программного продукта Microsoft Visual C++. Подробно описаны средства и подходы программирования современных профессиональных приложений. Материалы книги дополнены многочисленными демонстрационными программами, в процессе разработки которых максимально используются возможности программных инструментов Microsoft Visual Studio. Особое внимание уделено новинкам версии 6.0 и новейшим технологиям объектно-ориентированного программирования, включая использование библиотеки MFC и шаблонов классов, а также создание связанных списков. Отдельное занятие посвящено вопросам объектно-ориентированного анализа и проектирования приложений. Подробно рассмотрены все средства и подходы конструирования собственных пользовательских классов.

Книга рассчитана на широкий круг читателей, интересующихся современными проблемами программирования.






С манипуляторами setiosflags и resetiosflags могут использоваться следующие ювнфлаги:

iоs::left — выравнивает данные по левому краю поля вывода;

ios::right — выравнивает данные по правому краю поля вывода;

ios::interval — выравнивает данные по ширине поля вывода;

ios::dec — выводит данные в десятичном формате;

ios::oct — выводит данные в восьмеричном формате;

ios::hex — выводит данные в шестнадцатеричном формате;

ios::showbase — добавляет префикс 0x к шестнадцатеричным значениям и О к восьмеричным значениям;

ios::showpoint — заполняет нулями недостающие знаки в значениях заданной длины;

ios::uppercase — отображает в верхнем регистре шестнадцатеричные и экспоненциальные значения;

ios::showpos — добавляет знак '+' перед положительными числами;

ios::scientific — отображает числа с плавающей запятой в экспоненциальном представлении;

ios::fixed — отображает числа с плавающей запятой в шестнадцатеричном представлении.

Дополнительную информацию можно получить из файла ios.h или из справочной системы компилятора.

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

Потоки C++ обеспечивают универсальные методы обработки данных, поступающих с клавиатуры или диска, а также выводимых на экран и диск. В любом случае можно использовать либо операторы ввода и вывода, либо другие стандартные функции и манипуляторы. Дальнейшие разделы главы посвящены операциям открытия и закрытия файлов, которые сопровождаются созданием объектов ifstream и ofstream.

Объекты ofstream

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

Чтобы приступить к записи в файл, нужно сначала создать объект ofstream, а затем связать его с определенным файлом на диске. Использование объектов ofstream требует включения в программу файла заголовка fstream.h.


Примечание:Поскольку fstream содержит в себе iostream.h, нет необходимости в отдельном включении файла iostream.h.

Состояния условий

Объектами iostream поддерживаются флаги, отражающие состояние ввода и вывода. Значение каждого из этих флагов можно проверить с помощью функций, возвращающих TRUE или FALSE: eof(), bad(), fail() и good(). Функция eof() возвращает значение TRUE, если в объекте iostream встретился символ EOF (end of file — конец файла). Функция bad() возвращает значение TRUE при попытке выполнить ошибочную операцию. Функция fail() возвращает значение TRUE каждый раз, когда это же значение возвращает функция bad(), а также в тех случаях, когда операция невыполнима в данных условиях. Наконец, функция good() возвращает значение TRUE, когда все идет хорошо, т.е. все. остальные функции возвращают значение FALSE.

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

Для открытия файла myfile.cpp с помощью объекта ofstream нужно объявить экземпляр этого объекта, передав ему в качестве параметра имя файла:

ofstream fout("myfile.cpp");

Открытие файла для ввода выполняется аналогичным образом, за тем исключением, что для этого используется объект ifstream:

ifstream fin("myfile.cpp");

Обратите внимание, что в выражениях задаются имена объектов fout и fin, которые можно использовать так же, как объекты cout и cin соответственно.

Очень важным методом, используемым в файловых потоках, является функция-член close(). Каждый создаваемый вами объект файлового потока открывает файл для чтения или записи (или и для того и другого сразу). По завершении работы файл необходимо закрыть с помощью функции close(), чтобы впоследствии не повредить его и записанные в нем данные.

После связывания объектов потока с соответствующими файлами их можно использовать так же, как остальные объекты ввода-вывода. Пример использования объектов для обмена данными с файлами показан в листинге 16.16.

Листинг 16.16. Открытие файла для чтения и записи 

1: #include <fstream.h>

2: int main()

3: {

4:    char fileName[80];

5:    char buffer[255]; // для ввода данных пользователем

6:    cout << "File паше: ";

7:    cin >> fileName;

8:

9:    ofstream fout(fileName); // открытие файла для записи

10:   fout << "This line written directly to the file...\n";

11:   cout << "Enter text for the file: ";

12:   cin.ignore(1,'\n'); // пропускает символ разрыва строки после имени файла

13:   cin.getline(buffer,255); // принимает данные, введенные пользователем,

14:   fout << buffer << "\n"; // и записывает их в файл

15:   fout.close(); // закрывает файл, после чего его вновь можно открыть

16:

17:   ifstream fin(fileName); // открывается тот же файл для чтения

18:   cout << "Here's the contents of the file:\n";

19:   char ch;

20:   while (fin.get(ch))

21:   cout << ch;

22:

23:   cout << "\n*** End of file contents.***\n";

24:

25:   fin.close(); // не забудь закрыть файл в конце программы

26:   return 0;

27: }


Результат:

File name: test1

Enter text for the file: This text is written to the file!

Here's the contents of the file: This line written directly to the file...

This text is written to the file!

***End of file contents.***


Анализ: В строке 4 создается массив для записи имени файла, а в строке 5 — еще один массив для временного хранения информации, вводимой пользователем. В строке 6 пользователю предлагается ввести имя файла, которое записывается в массив fileName. В строке 9 создается объект ofstream с именем fout, который связывается с введенным ранее именем файла. В результате происходит открытие файла. Если файл с таким именем уже существует, содержащаяся в нем информация будет замещена.

Строкой 10 введенный текст записывается прямо в файл, а в строке 11 пользователю вновь предлагается ввести новый текст. Символ разрыва строки, оставшийся в буфере после ввода имени файла, удаляется строкой 12, после чего все введенные пользователем данные записываются в массив в строке 13. Введенный текст записывается в файл вместе с символом разрыва строки, а затем в строке 15 этот файл закрывается.

В строке 17 файл открывается заново, но в этот раз для чтения, и его содержимое посимвольно вводится в программу в строках 20—21.

Настройка открытия файла объектом ofstream

По умолчанию при связывании объекта ofstream с именем файла создается новый файл с указанным именем, если таковой не существует, или удаляется содержимое уже существующего файла с таким же именем. Чтобы изменить установки по умолчанию, используется второй аргумент конструктора объекта ofstream.

Для второго аргумента можно устанавливать следующие константные значения:

• ios::app — добавляет данные в конец файла вместо удаления всего содержимого файла;

• ios::ate — переводит точку ввода в конец файла, но у вас есть возможность вводить новые данные в любом месте файла;

• ios::trunc — устанавливается по умолчанию; полностью удаляет (отбрасывает) текущее содержимое файла;

• ios::nocreate — если файл не существует, операция открытия не выполняется;

• ios::noreplace — если файл уже существует, операция открытия не выполняется.

Имена констант являются аббревиатурами выполняемых действий: app — apend (добавить), ate — at end (в конец), trunc — truncate (отбросить) и т.п.

Листинг 16.17 является модификацией листинга 16.16 с установкой опции добавления данных в файл при его повторном открытии.

Листинг 16.17. Добавление данных в конец файла

1: #include <fstream.h>

2: int main() // возвращает 1 в случае ошибки

3: {

4:    char fileName[80];

5:    char buffer[255];

6:    cout << "Please re-enter the file name: ";

7:    cin >> fileName;

8:

9:    ifstream fin(fileName);

10:   if (fin)  // файл уже существует?

11:   {

12:      cout << "Current file contents:\n";

13:      char ch;

14:      while (fin.get(ch))

15:         cout << ch;

16:      cout << "\n***End of file contents.***\n";

17:   }

18:   fin.close();

19:

20:   cout << "\nOpening " << fileName << " in append mode...\n";

21:

22:   ofstream fout(fileName,ios::app);

23:   if (!fout)

24:   {

25:      cout << "Unable to open " << fileName << " for appending.\n";

26:      return(1);

27:   }

28:

29:   cout << "\nEnter text for the file: ";

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

31:   cin.getline(buffer,255);

32:   fout << buffer << "\n";

33:   fout.close();

34:

35:   fin.open(fileName); // переопределение существующего объекта fin!

36:   if (!fin)

37:   {

38:      cout << "Unable to open " << fileName << " for reading.\n";

39:      return(1);

40:   }

41:   cout << "\nHere's the contents of the file:\n";

42:   char ch;

43:   while (fin.get(ch))

44:      cout << ch;

45:   cout << "\n***End of file contents.***\n";

46:   fin.close();

47:   return 0;

48: }


Результат:

Please re-enter the file name: test1

Current file contents:

This line written directly to the file...


На Facebook В Твиттере В Instagram В Одноклассниках Мы Вконтакте
Подписывайтесь на наши страницы в социальных сетях.
Будьте в курсе последних книжных новинок, комментируйте, обсуждайте. Мы ждём Вас!

Похожие книги на "Освой самостоятельно С++ за 21 день."

Книги похожие на "Освой самостоятельно С++ за 21 день." читать онлайн или скачать бесплатно полные версии.


Понравилась книга? Оставьте Ваш комментарий, поделитесь впечатлениями или расскажите друзьям

Все книги автора Джесс Либерти

Джесс Либерти - все книги автора в одном месте на сайте онлайн библиотеки LibFox.

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Отзывы о "Джесс Либерти - Освой самостоятельно С++ за 21 день."

Отзывы читателей о книге "Освой самостоятельно С++ за 21 день.", комментарии и мнения людей о произведении.

А что Вы думаете о книге? Оставьте Ваш отзыв.