std::left, std::right, std::internal
来自cppreference.com
在标头 <ios> 定义 | ||
std::ios_base& left(std::ios_base& str ); | (1) | |
std::ios_base& right(std::ios_base& str ); | (2) | |
std::ios_base& internal(std::ios_base& str ); | (3) | |
修改填充字符的默认定位。left
与 right
应用到任何输出,而 internal
应用到整数、浮点和货币输出。在输入时无效果。
3) 如同用调用 str.setf(std::ios_base::internal, std::ios_base::adjustfield),设置流 str 的
adjustfield
为 internal
。标准流的初始缺省值等价于 right
。
这是一个 I/O 操纵符,可用如 out << std::left 的表达式对任何 std::basic_ostream 类型的 out
或用如 in >> std::left 的表达式对任何 std::basic_istream 类型的 in
调用。
目录 |
[编辑]参数
str | - | 到 I/O 流的引用 |
[编辑]返回值
str(到操纵后的流的引用)。
[编辑]示例
运行此代码
#include <iomanip>#include <iostream>#include <locale> int main(){std::cout.imbue(std::locale("en_US.utf8")); std::cout<<"Default positioning:\n"<<std::setfill('*')<<std::setw(12)<<-1.23<<'\n'<<std::setw(12)<<std::hex<<std::showbase<<42<<'\n'<<std::setw(12)<<std::put_money(123, true)<<"\n\n"; std::cout<<"Left positioning:\n"<< std::left<<std::setw(12)<<-1.23<<'\n'<<std::setw(12)<<42<<'\n'<<std::setw(12)<<std::put_money(123, true)<<"\n\n"; std::cout<<"Internal positioning:\n"<< std::internal<<std::setw(12)<<-1.23<<'\n'<<std::setw(12)<<42<<'\n'<<std::setw(12)<<std::put_money(123, true)<<"\n\n"; std::cout<<"Right positioning:\n"<< std::right<<std::setw(12)<<-1.23<<'\n'<<std::setw(12)<<42<<'\n'<<std::setw(12)<<std::put_money(123, true)<<'\n';}
输出:
Default positioning: *******-1.23 ********0x2a ***USD *1.23 Left positioning: -1.23******* 0x2a******** USD *1.23*** Internal positioning: -*******1.23 0x********2a USD ****1.23 Right positioning: *******-1.23 ********0x2a ***USD *1.23
[编辑]参阅
更改下个输入/输出字段的宽度 (函数) | |
更改填充字符 (函数模板) | |
控制是否使用前缀指示数值基数 (函数) |