Добавлен: 04.04.2023
Просмотров: 285
Скачиваний: 1
Пример программы с применением объекта cout приведен в Исходном коде №5. Результат работы представлен на рисунке 3.
Исходный код № 5.
#include <vcl.h>
#include <iostream>
#include <conio.h>
#include <iomanip>
#include <stdio.h>
int main()
{
using namespace std;
int i;
float f;
cout << "Pleace enter i and f >" << endl;
cin >> i >> f;
cout << i << endl;
cout << f << endl;
cout << hex << i << endl;
cout << oct << i << dec << i << endl;
cout << showpos << i << endl;
cout << setbase(16) << i << endl;
cout << setfill('@') << setw(20) << left << dec << i;
cout << endl;
cout.fill('@');
cout.width(20);
cout.setf(ios::left, ios::adjustfield);
cout.setf(ios::dec, ios::basefield);
cout << i << endl;
cout << scientific << setprecision(10) << f << endl;
cout.precision(6);
cout << f << fixed << endl;
getch();
}
Рисунок 3.
Стандартный ввод cin
Объект (экземпляр класса) cin управляет вводом из буфера ввода, связанного с объектом stdin, объявленным в файле stdio.h. По умолчанию стандартные потоки в языках С и С++ синхронизированы. При вводе используется часть тех функций и манипуляторов, которые определены для cout. Это такие манипуляторы, как dec, hex, oct, ws и др.[7]
Пример программы с использованием объекта cin приведен в Исходном коде №6. Результат работы представлен на рисунке 4.
Исходный код №6.
#include <vcl.h>
#include <iostream>
#include <conio.h>
#include <iomanip>
#include <stdio.h>
void main()
{
using namespace std;
int i;
float f;
char c;
cout << "Please enter i,f,c and then input the string >" << endl;
cin >> i >> f >> c;
cout << i << endl << f << endl << c << endl;
char p[50];
cin >> ws >> p;
cout << p << endl;
cin.seekg(0);
cin.getline(p,50);
cout << p << endl;
getch();
}
Рисунок 4.
Заключение
Специалисты C++ рекомендуют использовать для ввода-вывода только потоки STL и отказаться от использования традиционного ввода-вывода в духе C. Однако, ничего не мешает, по крайней мере пока, использовать традиционную систему ввода-вывода. Более того, предусмотрена специальная функция для синхронизации ввода-вывода, выполненного посредством потоков и посредством старых функций.
Какой механизм использовать – вопрос предпочтений программиста, если работодателем явно непредписанно использование конкретного механизма. В любом случае для физического ввода-вывода используются вызовы операционной системы. Всё остальное – обёртка, набор более или менее удобных функций, или классов для взаимодействия с ОС.