<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
指定以十进制计数法形式显示整数变量。
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
的示例,请参阅 dec。
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。
boolalpha 会取消 noboolalpha
的效果。
示例
有关使用 noboolalpha
的示例,请参阅 boolalpha。
noshowbase
关闭显示数字所采用的进制的指示。
ios_base& noshowbase(ios_base& str);
参数
str
对 ios_base 类型的对象的引用,或对从 ios_base
继承的类型的引用。
返回值
对派生 str 的对象的引用。
注解
noshowbase
处于打开状态。 使用 showbase 来指示数字基数。
此操控器有效调用 str.
unsetf(ios_base::showbase)
,然后返回 str。
示例
有关如何使用 noshowbase
的示例,请参阅 showbase。
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。
示例
有关使用 noshowpos
的示例,请参阅 showpos。
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。
示例
有关使用 nouppercase
的示例,请参阅 uppercase。
oct
指定以八进制计数法形式显示整数变量。
ios_base& oct(ios_base& str);
参数
str
对 ios_base 类型的对象的引用,或对从 ios_base
继承的类型的引用。
返回值
对派生 str 的对象的引用。
备注
默认情况下,整型变量以十进制计数法显示。 dec 和 hex 也会改变整型变量显示的方式。
此操控器有效调用 str.
setf(ios_base::oct, ios_base::basefield)
,然后返回 str。
示例
有关如何使用 oct
的示例,请参阅 dec。
右
导致宽度比输出宽度短的文本在流刷新过程中显示时带有右边距。
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 的对象的引用。
注解
此操控器有效调用 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。
示例
有关使用 showpoint
的示例,请参阅 noshowpoint。
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。
大写
指定十六进制数字和科学计数法形式的指数以大写形式显示。
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