setfill 是 C++ 流操作器的成员函数,用于设置流中未填充字符的填充字符,从而填充插入操作符产生的未填充字段。语法:ostream& setfill(char ch),其中 ch 是要设置为填充字符的字符。示例:setfill('') 可用星号填充 10 位宽的整数或字符串,如 123 或 *Hello。

setfill 在 C++ 中的使用
setfill 是什么?
setfill 是 C++ 中流操作器的成员函数,用于设置流中未填充字符的填充字符。这些字符用于填充流中尚未填充的字段,这些字段通常是由插入操作符 (
如何使用 setfill
立即学习“C++免费学习笔记(深入)”;
要使用 setfill 函数,需要编写以下语法:
ostream& setfill(char ch);
其中,ch 是要设置为填充字符的字符。
在整本书中我们所涉及许多的Flex框架源码,但为了简洁,我们不总是显示所指的代码。当你阅读这本书时,要求你打开Flex Builder,或能够访问Flex3框架的源码,跟随着我们所讨论源码是怎么工作及为什么这样做。 如果你跟着阅读源码,请注意,我们经常跳过功能或者具体的代码,以便我们可以对应当前的主题。这样能防止我们远离当前的主题,主要是讲解代码的微妙之处。这并不是说那些代码的作用不重要,而是那些代码处理特别的案例,防止潜在的错误或在生命周期的后面来处理,只是我们当前没有讨论它。有需要的朋友可以下载看看
示例
以下示例演示如何使用 setfill 函数:
#includeusing namespace std; int main() { // 设置填充字符为星号 (*) cout.setfill('*'); // 输出一个 10 位宽的整数 cout << setw(10) << 123 << endl; // 输出一个 10 位宽的字符串 cout << setw(10) << "Hello" << endl; return 0; }
输出:
********123 ******Hello
如你所见,数字和字符串前面都填充了星号,填充宽度为 10。
注意事项
- setfill 函数只会影响后续输出操作。
- setfill 函数默认填充字符为空格。
- 可以使用任何字符(包括空格)作为填充字符。










