Поделиться через


<ios>Функции

boolalpha

Указывает, что переменные типа bool отображаются как true или false в потоке.

ios_base& boolalpha(ios_base& str);

Параметры

str
Ссылка на объект типа ios_base, или на тип, который наследует от ios_base.

Возвращаемое значение

Ссылка на объект, из которого производна str .

Замечания

По умолчанию переменные типа bool показываются как 1 или 0.

boolalpha фактически вызывает str.setf( ios_base::boolalpha), а затем возвращает str.

noboolalpha отменяет результат boolalpha.

Пример

// ios_boolalpha.cpp
// compile with: /EHsc
#include <iostream>

int main( )
{
   using namespace std;
   bool b = true;
   cout << b << endl;
   boolalpha( cout );
   cout << b << endl;
   noboolalpha( cout );
   cout << b << endl;
   cout << boolalpha << b << endl;
}
1
true
1
true

dec

Устанавливает режим отображения целочисленных переменных в нотации с основанием 10.

ios_base& dec(ios_base& str);

Параметры

str
Ссылка на объект типа ios_base, или на тип, который наследует от ios_base.

Возвращаемое значение

Ссылка на объект, из которого производна str .

Замечания

По умолчанию целочисленные переменные отображаются в десятичной записи.

dec фактически вызывает str.setf( ios_base::dec, ios_base::basefieldа затем возвращает str.

Пример

// ios_dec.cpp
// compile with: /EHsc
#include <iostream>

int main( )
{
   using namespace std;
   int i = 100;

   cout << i << endl;   // Default is base 10
   cout << hex << i << endl;
   dec( cout );
   cout << i << endl;
   oct( cout );
   cout << i << endl;
   cout << dec << i << endl;
}
100
64
100
144
100

defaultfloat

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

ios_base& defaultfloat(ios_base& iosbase);

Параметры

_Iosbase
Объект ios_base.

Замечания

Манипулятор эффективно вызывает iosbase.ios_base::unsetf(ios_base::floatfield), а затем возвращает iosbase.

fixed

Устанавливает режим отображения чисел с плавающей запятой в нотации фиксированного десятичного формата.

ios_base& fixed(ios_base& str);

Параметры

str
Ссылка на объект типа ios_base, или на тип, который наследует от ios_base.

Возвращаемое значение

Ссылка на объект, из которого производна str .

Замечания

fixed — это нотация по умолчанию для чисел с плавающей запятой. scientific вызывает отображение чисел с плавающей запятой в экспоненциальном представлении.

Манипулятор эффективно вызывает str.setf( ios_base::fixed, ios_base::floatfield а затем возвращает str.

Пример

// ios_fixed.cpp
// compile with: /EHsc
#include <iostream>

int main( )
{
   using namespace std;
   float i = 1.1F;

   cout << i << endl;   // fixed is the default
   cout << scientific << i << endl;
   cout.precision( 1 );
   cout << fixed << i << endl;
}
1.1
1.100000e+000
1.1

hex

Устанавливает режим отображения целочисленных переменных в шестнадцатеричной записи.

ios_base& hex(ios_base& str);

Параметры

str
Ссылка на объект типа ios_base, или на тип, который наследует от ios_base.

Возвращаемое значение

Ссылка на объект, из которого производна str .

Замечания

По умолчанию целочисленные переменные отображаются в десятичной записи. dec и oct также изменяют способ показа целочисленных переменных.

Манипулятор эффективно вызывает str.setf( ios_base::hex, ios_base::basefieldа затем возвращает str.

Пример

Пример использования hexсм. в деке.

hexfloat

ios_base& hexfloat (ios_base& str);

io_errc

enum class io_errc {
    stream = 1
};

internal

Устанавливает режим выравнивания знака числа по левому краю, а самого числа — по правому краю.

ios_base& internal(ios_base& str);

Параметры

str
Ссылка на объект типа ios_base, или на тип, который наследует от ios_base.

Возвращаемое значение

Ссылка на объект, из которого производна str .

Замечания

showpos вызывает показ знака для отображения положительных чисел.

Манипулятор эффективно вызывает str.setf(ios_base::internal ,ios_base::adjustfield), а затем возвращает str.

Пример

// ios_internal.cpp
// compile with: /EHsc
#include <iostream>
#include <iomanip>

int main( void )
{
   using namespace std;
   float i = -123.456F;
   cout.fill( '.' );
   cout << setw( 10 ) << i << endl;
   cout << setw( 10 ) << internal << i << endl;
}
..-123.456
-..123.456

is_error_code_enum

template <> struct is_error_code_enum<io_errc> : public true_type { };

iostream_category

const error_category& iostream_category() noexcept;

left

Устанавливает режим добавления левого поля для текста, ширина которого меньше, чем ширина выходных данных, при представлении его в потоке.

ios_base& left(ios_base& str);

Параметры

str
Ссылка на объект типа ios_base, или на тип, который наследует от ios_base.

Возвращаемое значение

Ссылка на объект, из которого производна str .

Замечания

Манипулятор эффективно вызывает str.setf(ios_base::left, ios_base::adjustfield), а затем возвращает str.

Пример

// ios_left.cpp
// compile with: /EHsc
#include <iostream>

int main( )
{
   using namespace std;
   double f1= 5.00;
   cout.width( 20 );
   cout << f1 << endl;
   cout << left << f1 << endl;
}
5
        5

make_error_code

error_code make_error_code(io_errc e) noexcept;

make_error_condition

error_condition make_error_condition(io_errc e) noexcept;

noboolalpha

Устанавливает режим отображения переменных типа bool в потоке в виде 1 или 0.

ios_base& noboolalpha(ios_base& str);

Параметры

str
Ссылка на объект типа ios_base, или на тип, который наследует от ios_base.

Возвращаемое значение

Ссылка на объект, из которого производна str .

Замечания

По умолчанию действует noboolalpha.

noboolalpha фактически вызывает str.unsetf(ios_base::boolalpha), а затем возвращает str.

noboolalpha отменяет результат noboolalpha.

Пример

См. boolalpha с примером использования noboolalpha.

noshowbase

Отключает отображение основания нотации, в которой отображается число.

ios_base& noshowbase(ios_base& str);

Параметры

str
Ссылка на объект типа ios_base, или на тип, который наследует от ios_base.

Возвращаемое значение

Ссылка на объект, из которого производна str .

Замечания

noshowbase включен по умолчанию. Используйте showbase для указания основания чисел.

Манипулятор эффективно вызывает str.unsetf(ios_base::showbase), а затем возвращает str.

Пример

См. showbase с примером использования noshowbase.

noshowpoint

Отображает только целую часть числа с плавающей запятой, дробная часть которого равна нулю.

ios_base& noshowpoint(ios_base& str);

Параметры

str
Ссылка на объект типа ios_base, или на тип, который наследует от ios_base.

Возвращаемое значение

Ссылка на объект, из которого производна str .

Замечания

По умолчанию noshowpoint включен. Используйте showpoint и precision для показа нулей после десятичной запятой.

Манипулятор эффективно вызывает str.unsetf(ios_base::showpoint), а затем возвращает str.

Пример

// ios_noshowpoint.cpp
// compile with: /EHsc
#include <iostream>

int main( )
{
   using namespace std;
   double f1= 5.000;
   cout << f1 << endl;   // noshowpoint is default
   cout.precision( 4 );
   cout << showpoint << f1 << endl;
   cout << noshowpoint << f1 << endl;
}
5
5.000
5

noshowpos

Устанавливает режим отображения положительных чисел без обязательного знака.

ios_base& noshowpos(ios_base& str);

Параметры

str
Ссылка на объект типа ios_base, или на тип, который наследует от ios_base.

Возвращаемое значение

Ссылка на объект, из которого производна str .

Замечания

noshowpos включен по умолчанию.

Манипулятор эффективно вызывает str.unsetf(ios_base::showpos), а затем возвращает str.

Пример

См. showpos с примером использования noshowpos.

noskipws

Устанавливает режим чтения пробелов потоком ввода.

ios_base& noskipws(ios_base& str);

Параметры

str
Ссылка на объект типа ios_base, или на тип, который наследует от ios_base.

Возвращаемое значение

Ссылка на объект, из которого производна str .

Замечания

По умолчанию используется skipws. При чтении пробела из входного потока он сообщает о конце буфера.

Манипулятор эффективно вызывает str.unsetf(ios_base::skipws), а затем возвращает str.

Пример

// ios_noskipws.cpp
// compile with: /EHsc
#include <iostream>
#include <string>

int main() {
   using namespace std;
   string s1, s2, s3;
   cout << "Enter three strings: ";
   cin >> noskipws >> s1 >> s2 >> s3;
   cout << "." << s1  << "." << endl;
   cout << "." << s2 << "." << endl;
   cout << "." << s3 << "." << endl;
}

nounitbuf

Устанавливает буферизацию выходных данных и их обработку при заполнении буфера.

ios_base& nounitbuf(ios_base& str);

Параметры

str
Ссылка на объект типа ios_base, или на тип, который наследует от ios_base.

Возвращаемое значение

Ссылка на объект, из которого производна str .

Замечания

unitbuf вызывает обработку буфера, когда он не пустой.

Манипулятор эффективно вызывает str.unsetf(ios_base::unitbuf), а затем возвращает str.

nouppercase

Устанавливает режим отображения шестнадцатеричных цифр и показателя степени в экспоненциальном представлении в нижнем регистре.

ios_base& nouppercase(ios_base& str);

Параметры

str
Ссылка на объект типа ios_base, или на тип, который наследует от ios_base.

Возвращаемое значение

Ссылка на объект, из которого производна str .

Замечания

Манипулятор эффективно вызывает str.unsetf(ios_base::uppercase), а затем возвращает str.

Пример

См. uppercase с примером использования nouppercase.

Окт

Устанавливает режим отображения целочисленных переменных в нотации с основанием 8.

ios_base& oct(ios_base& str);

Параметры

str
Ссылка на объект типа ios_base, или на тип, который наследует от ios_base.

Возвращаемое значение

Ссылка на объект, из которого производна str .

Замечания

По умолчанию целочисленные переменные отображаются в десятичной записи. dec и hex также изменяют способ показа целочисленных переменных.

Манипулятор эффективно вызывает str.setf(ios_base::oct, ios_base::basefield), а затем возвращает str.

Пример

Пример использования octсм. в деке.

Устанавливает режим добавления правого поля для текста, ширина которого меньше, чем ширина выходных данных, при представлении его в потоке.

ios_base& right(ios_base& str);

Параметры

str
Ссылка на объект типа ios_base, или на тип, который наследует от ios_base.

Возвращаемое значение

Ссылка на объект, из которого производна str .

Замечания

left также изменяет выравнивание текста.

Манипулятор эффективно вызывает str.setf(ios_base::right, ios_base::adjustfield), а затем возвращает str.

Пример

// ios_right.cpp
// compile with: /EHsc
#include <iostream>

int main( )
{
   using namespace std;
   double f1= 5.00;
   cout << f1 << endl;
   cout.width( 20 );
   cout << f1 << endl;
   cout.width( 20 );
   cout << left << f1 << endl;
   cout.width( 20 );
   cout << f1 << endl;
   cout.width( 20 );
   cout << right << f1 << endl;
   cout.width( 20 );
   cout << f1 << endl;
}
5
                   5
5
5
                   5
                   5

scientific

Устанавливает режим отображения чисел с плавающей запятой с использованием экспоненциального представления.

ios_base& scientific(ios_base& str);

Параметры

str
Ссылка на объект типа ios_base, или на тип, который наследует от ios_base.

Возвращаемое значение

Ссылка на объект, из которого производна str .

Замечания

По умолчанию числа с плавающей запятой показываются в нотации fixed.

Манипулятор эффективно вызывает str.setf(ios_base::scientific, ios_base::floatfield), а затем возвращает str.

Пример

// ios_scientific.cpp
// compile with: /EHsc
#include <iostream>

int main( )
{
   using namespace std;
   float i = 100.23F;

   cout << i << endl;
   cout << scientific << i << endl;
}
100.23
1.002300e+002

showbase

Включает отображение основания нотации, в которой отображается число.

ios_base& showbase(ios_base& str);

Параметры

str
Ссылка на объект типа ios_base, или на тип, который наследует от ios_base.

Возвращаемое значение

Ссылка на объект, из которого производна str .

Замечания

Запись числа можно изменить при помощи dec, oct или hex.

Манипулятор эффективно вызывает str.setf(ios_base::showbase), а затем возвращает str.

Пример

// ios_showbase.cpp
// compile with: /EHsc
#include <iostream>

int main( )
{
   using namespace std;
   int j = 100;

   cout << showbase << j << endl;   // dec is default
   cout << hex << j << showbase << endl;
   cout << oct << j << showbase << endl;

   cout << dec << j << noshowbase << endl;
   cout << hex << j << noshowbase << endl;
   cout << oct << j << noshowbase << endl;
}
100
0x64
0144
100
64
144

showpoint

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

ios_base& showpoint(ios_base& str);

Параметры

str
Ссылка на объект типа ios_base, или на тип, который наследует от ios_base.

Возвращаемое значение

Ссылка на объект, из которого производна str .

Замечания

По умолчанию действует noshowpoint.

Манипулятор эффективно вызывает str.setf(ios_base::showpoint), а затем возвращает str.

Пример

См. noshowpoint с примером использования showpoint.

showpos

Устанавливает режим отображения положительных чисел с обязательным знаком.

ios_base& showpos(ios_base& str);

Параметры

str
Ссылка на объект типа ios_base, или на тип, который наследует от ios_base.

Возвращаемое значение

Ссылка на объект, из которого производна str .

Замечания

По умолчанию используется noshowpos.

Манипулятор эффективно вызывает str.setf(ios_base::showpos), а затем возвращает str.

Пример

// ios_showpos.cpp
// compile with: /EHsc
#include <iostream>

int main( )
{
   using namespace std;
   int i = 1;

   cout << noshowpos << i << endl;   // noshowpos is default
   cout << showpos << i << endl;
}
1
+1

skipws

Устанавливает режим игнорирования пробелов потоком ввода.

ios_base& skipws(ios_base& str);

Параметры

str
Ссылка на объект типа ios_base, или на тип, который наследует от ios_base.

Возвращаемое значение

Ссылка на объект, из которого производна str .

Замечания

По умолчанию действует skipws. noskipws устанавливает режим чтения пробелов из входного потока.

Манипулятор эффективно вызывает str.setf(ios_base::skipws), а затем возвращает str.

Пример

#include <iostream>
#include <string>

int main( )
{
   using namespace std;
   char s1, s2, s3;
   cout << "Enter three characters: ";
   cin >> skipws >> s1 >> s2 >> s3;
   cout << "." << s1  << "." << endl;
   cout << "." << s2 << "." << endl;
   cout << "." << s3 << "." << endl;
}
1 2 3
Enter three characters: 1 2 3
.1.
.2.
.3.

unitbuf

Устанавливает режим обработки выходных данных при наличии данных в буфере.

ios_base& unitbuf(ios_base& str);

Параметры

str
Ссылка на объект типа ios_base, или на тип, который наследует от ios_base.

Возвращаемое значение

Ссылка на объект, из которого производна str .

Замечания

Обратите внимание, что endl также очищает буфер.

По умолчанию действует nounitbuf.

Манипулятор эффективно вызывает str.setf(ios_base::unitbuf), а затем возвращает str.

uppercase

Устанавливает режим отображения шестнадцатеричных цифр и показателя степени в экспоненциальном представлении в верхнем регистре.

ios_base& uppercase(ios_base& str);

Параметры

str
Ссылка на объект типа ios_base, или на тип, который наследует от ios_base.

Возвращаемое значение

Ссылка на объект, из которого производна str .

Замечания

По умолчанию действует nouppercase.

Манипулятор эффективно вызывает str.setf(ios_base::uppercase), а затем возвращает str.

Пример

// ios_uppercase.cpp
// compile with: /EHsc
#include <iostream>

int main( void )
{
   using namespace std;

   double i = 1.23e100;
   cout << i << endl;
   cout << uppercase << i << endl;

   int j = 10;
   cout << hex << nouppercase << j << endl;
   cout << hex << uppercase << j << endl;
}
1.23e+100
1.23E+100
a
A