std::setw
来自cppreference.com
该页由英文版wiki使用Google Translate机器翻译而来。
该翻译可能存在错误或用词不当。鼠标停留在文本上可以看到原版本。你可以帮助我们修正错误或改进翻译。参见说明请点击这里. |
在头文件 <iomanip> 中定义
|
||
/*unspecified*/ setw( int n ); |
||
当在表达式中使用out << setw(n)或in >> setw(n),设置参数的流
width
out
或in
准确地n
。这个值是不“发粘”:下一个输入或输出操作受流的width
领域的价值,将其重置为0(意为“未指定”)原文:
When used in an expression out << setw(n) or in >> setw(n), sets the
width
parameter of the stream out
or in
to exactly n
. This value is not "sticky": the next input or output operation that is affected by the value of the stream's width
field, resets it to zero (meaning "unspecified").目录 |
[编辑] 参数
n | - | 新的宽度值
|
[编辑] 返回值
返回一个对象的类型不明确等,如果
str
的名字是一个输出流的类型std::basic_ostream<CharT, Traits>或std::basic_istream<CharT, Traits>,然后表达str << setw(n)或str >> setw(n)的行为就好像下面的代码被执行原文:
Returns an object of unspecified type such that if
str
is the name of an output stream of type std::basic_ostream<CharT, Traits> or std::basic_istream<CharT, Traits>, then the expression str << setw(n) or str >> setw(n) behaves as if the following code was executed:str.width(n);
[编辑] 示例
#include <sstream> #include <iostream> #include <iomanip> int main() { std::cout << "no setw: " << 42 << '\n' << "setw(6): " << std::setw(6) << 42 << '\n'; std::istringstream is("hello, world"); char arr[10]; is >> std::setw(6) >> arr; std::cout << "Input from \"" << is.str() << "\" with setw(6) gave \"" << arr << "\"\n"; }
输出:
no setw: 42 setw(6): 42 Input from "hello, world" with setw(6) gave "hello"
[编辑] 另请参阅
manages field width (公共成员函数of std::ios_base )
| |
改变填充字符 (函数模板) |