Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/135.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
以C+为单位设置宽度+;输出流 我试图通过设置不同字段的宽度来在C++上创建一个整洁的格式化表。我可以使用setw(n),做如下事情 cout << setw(10) << x << setw(10) << y << endl; cout_C++_Width - Fatal编程技术网

以C+为单位设置宽度+;输出流 我试图通过设置不同字段的宽度来在C++上创建一个整洁的格式化表。我可以使用setw(n),做如下事情 cout << setw(10) << x << setw(10) << y << endl; cout

以C+为单位设置宽度+;输出流 我试图通过设置不同字段的宽度来在C++上创建一个整洁的格式化表。我可以使用setw(n),做如下事情 cout << setw(10) << x << setw(10) << y << endl; cout,c++,width,C++,Width,您可以创建一个重载运算符的对象我知道这仍然在进行相同的调用,但我从您的问题中得到的信息中不知道其他解决方案 #define COUT std::cout.width(10);std::cout<< int main() { std::cout.fill( '.' ); COUT "foo" << std::endl; COUT "bar" << std::endl; return 0; } 为什么不创建一个函数呢 伪码

您可以创建一个重载
运算符的对象我知道这仍然在进行相同的调用,但我从您的问题中得到的信息中不知道其他解决方案

#define COUT std::cout.width(10);std::cout<<

int main()
{
    std::cout.fill( '.' );

    COUT "foo" << std::endl;
    COUT "bar" << std::endl;

    return 0;
}

为什么不创建一个函数呢

伪码

void format_cout(text, w) {
 cout << text << width(w);
}
void格式(文本,w){

无法复制或可能与各种iomanip操纵器的粘性有关。setw不粘性:好的,对不起。我以前寻找过类似的东西,但没有成功。这里和其他帖子中的答案让我很好地掌握了如何解决它,谢谢。如果可以,你应该使用Boost.Format。请查看来自Herb Sutter关于“打印时C++对齐”的问题这里有一个工作循环:这种方法很好而且简单,但是它不允许您使用链接的
操作符+1,谢谢!如果其他人感兴趣:第二个
操作符如果模板可以轻松制作,甚至允许输出链接,为什么要使用宏?
formatted_output field_output(cout, 10);
field_output << x << y << endl;
#define COUT std::cout.width(10);std::cout<<

int main()
{
    std::cout.fill( '.' );

    COUT "foo" << std::endl;
    COUT "bar" << std::endl;

    return 0;
}
..........foo
..........bar
void format_cout(text, w) {
 cout << text << width(w);
}