Setw函数的终极指南
目录
C++或CPP是一种非常常见的通用编程语言,它是作为C语言的增强版而开发的,因为它包括面向对象的范式。它是一种经过编译的指令性语言。C++函数具有广泛的类型。在这篇文章中,我们将介绍这样一个函数:setw C++。
什么是setw函数?
setw C++是存在于C++中的iomaip库的一种方法。setw函数是一个C++的操纵器,代表着设置宽度。该操纵器设置了ios库的字段宽度,或者指定了一个变量将消耗的最小字符数。简单地说,setw C++函数有助于设置用于输出操作的字段宽度。该函数将成员宽度作为一个参数,并需要一个流,这个字段必须被操作或插入。该函数还设置了流进或流出的宽度参数,正好是n次。它获取的参数将是需要设置为宽度的新值。
setw C++的语法
该函数的语法是:
setw(int number)
其中number是要被设置为字段宽度的字符数。
setw C++函数一般与一个表达式一起使用。输出可以用out<<setw(num)来设置,输入可以用in>>setw(num)来获取。
setw函数的参数
如上所示,该函数只接受一个参数,即一个整数。这个整数对应的是要设置的字段宽度。
由于该函数只作为一个流操纵器,它不返回任何东西。
setw函数的例子
下面的代码将帮助你更好地理解设置字段宽度的概念。
#include <iostream>
#include <iomanip>
int main () {
std::cout << std::setw(5);
std::cout <<123<< std::endl;
return 0;
}
输出:
解释:这段代码使用了标准库。一个是输入-输出流,另一个c++头文件是带有setw()函数的输入-输出操作库。主函数中有setw()函数用于设置输出域的宽度。我们将其设置为5,并输出数字123。这个函数使前两处保持空白,因为字符串的长度是3。后面三处包括我们作为输出的数字。
让我们看看如何将宽度从0设置为一个数字,然后将其重置。
#include
#include
int main()
{
// initial width is set to 5
std::cout << std::setw(5);
std::cout << 123 << std::endl;
std::string str = "setw";
// changing width to 7
std::cout << std::setw(7);
std::cout << str << std::endl;
return 0;
}
输出:
解释:在上面的代码中,我们正在导入和使用iomanip库。首先,我们将字段的值设置为5。该函数将字段宽度从0重置为5。然后,该数字被作为输出发送。后来我们又用setw C++函数增加了宽度。我们正在改变宽度并发送字符串作为输出。这将返回两个输出,并观察间距的变化。
让我们看看当我们设置的宽度小于输出的长度时会发生什么。
#include
#include
#include
using std::cout;
using std::string;
using std::endl;
int main() {
string str="setw in C++";
cout<<std::setw(7)<<str<<endl;
return 0;
}
输出:
解释。在上面的程序中,我们存储了字符串str。使用setw()函数,宽度被设置为7。字符串的长度超过了输出的长度。setw C++函数的特点是,如果字段的宽度较小,它不会将字符串截断。相反,它将默认值设置为0,并显示整个c++字符串。因此,如果传递的参数小于字符串的长度,就会返回整个字符串。
最后,让我们看看一个总结了所有概念的例子。
#include
#include
using namespace std;
int main()
{
int n;
cout<<"Enter number of seats you want to book\n";
cin>>n;
int p;
cout<<"How many people are present?\n";
cin>>p;
int a = n-p;
cout<<setw(n)<<string(a,'x')+string(p,'|');
cout<<"\n";
cout<<"There is place for "<<a<<" people";
}
输出:
总结
在这篇文章中,我们看到了iomanip库中的一个setw C++函数和一个操纵器函数。它可以用来设置输入或输出字段的宽度。即使指定的长度小于字符串的长度,该函数也不会截断字符串。setw C++函数有助于得到一个格式化的输出,并使输出和代码系统化和可读化。