草庐IT

prinf-cout

全部标签

c++ - 具有 Boost 格式的 int 特征向量的格式化 cout

我想使用boost::format计算int的特征向量,使数字右对齐。到目前为止,我有以下代码intmain(){vectorfoo;Vector3ibar;bar输出是-1-10000但我希望有以下输出-1-10000如果我修改for中的格式和代码,我可以达到想要的结果boost::formatheader2("%2d%2d%2d");for(inti=0;i但是,有人能告诉我是否有更有效的方法使用boost::format来做到这一点? 最佳答案 您可以使用解决方法:boost::formatheader("%+3d");//A

c++ - 为什么 << 运算符会用 cout 截断字符?

我在while循环中使用std::getline并使用cout打印输出,我发现打印时我的行的开头被截断了:按预期工作:std::stringline;while(std::getline(csv,line)){std::cout没有按预期工作,从我的行中删除了前两个字符std::stringline;while(std::getline(csv,line)){std::cout我以前从未注意到这种行为,为什么现在会发生这种情况? 最佳答案 这似乎是正在发生的事情:行字符串末尾的字符包含回车字符。如果您的字符串是HelloWorld,

C++。为什么 std::cout << char + int 打印 int 值?

比方说,我们有:charx='a';inty=1;所以,如果你运行:std::cout它打印98而不是'b'。正如我从here看到的那样只有int参数实现。从现在开始我有两个问题:char+int操作后返回什么类型?为什么没有char参数实现,而是std::cout仍然按预期工作并打印char值? 最佳答案 感谢Fefux,BoPersson和MattiVirkkunen答案是:来自CPPReference:Implicitconversions:arithmeticoperatorsdonotaccepttypessmallert

c++ 在同一行使用 cout 和 cin 的问题 (xcode8)

在C++中使用Xcode我正在尝试创建一个简单的控制台应用程序。然而,我对cout和cin的使用似乎并没有像我预期的那样工作。我期待:Testing:12inputwas12编辑:我已经尽可能地减少了代码测试:#includeintmain(intargc,constchar*argv[]){//insertcodehere...intnum;std::cout>num;std::cout示例输出:12Testing:inputwas12Programendedwithexitcode:0我在这里遗漏了什么吗? 最佳答案 显然是一个

c++ - 将 std::cout 重定向到 QTextEdit

是否有可能(更重要的是-如何-)将输出流重定向到QTextBox。这样如果我写std::cout在应用程序的任何地方它都被重定向到我定义的文本框?我尝试了显而易见的(其中ui.textEdit是指向文本编辑框的指针):std::cout.rdbuf(ui.textEdit);std::cout但是这不起作用。(明显地)。-将cout重定向到qDebug也不起作用(甚至将qDebug重定向到文本字段)。顺便说一句,我正在使用qt4.8...编辑:所以我尝试了邮件列表中发布的解决方案。但是现在出现了访问冲突。classMainInterface:publicQMainWindow{Q_OB

c++ - 使用 std::cout 一次而不是多次显示相同数量的数据是否更有效?

例如,像这样显示这些变量会不会更节省内存:std::cout而不是这个:std::cout当然,我并不是真的担心两行代码..但我正在努力学习更有效地编写代码谢谢 最佳答案 将其设为单个语句理论上会更快,因为编译器可以更自由地重新安排参数评估的顺序。但是,这是在谈论0.00000000000001%的差异,毫无意义。不要关心这个-瓶颈在控制台本身。无论如何,列对齐对于可读性非常有帮助,所以试试这个:std::cout或者这个:std::cout(我更喜欢第一个,因为我发现在我的文本编辑器中格式化更容易)。

c++ - std::cout 在具有静态存储持续时间的对象的构造函数中的使用

在C++98/C++03中具有静态存储持续时间的对象的构造函数中使用std::cout是否安全?从这个看来answer它不是,但它不包含标准中的任何引用。只有在C++11和C++14中才安全吗? 最佳答案 来自C++14(N3797),§27.4p2:Theobjectsareconstructedandtheassociationsareestablishedatsometimepriortoorduringthefirsttimeanobjectofclassios_base::Initisconstructed,andinan

c++ - 下面的方案如何保证对象 cin、cout、...只有一个定义?

Here您会在Whichheader?下找到以下语句:Finally,providestheeightstandardglobalobjects(cin,cout,etc).Todothiscorrectly,thisheaderalsoprovidesthecontentsoftheandheaders,butnothingelse.Thecontentsofthisheaderlooklike#include#includenamespacestd{externistreamcin;externostreamcout;....//thisisexplainedbelowstatic

c++ - 在 std::cout 刷新事件上捕获和引发事件

我正在尝试编写一个作用域对象来重定向std::cout的输出并在刷新底层缓冲区时调用函数。我的实现大量借鉴了以下SO答案:c++executefunctionanytimeastreamiswrittento我让它部分工作,但只有在我明确调用flush时才会调用回调函数在std::cout.但是,我希望它在任何内容写入流时调用回调函数。注意:我正在编译MSVC++11。structstream_redirect{stream_redirect(std::ostream&stream,std::streambuf*rdbuf):stream(stream),rdbuf_old(strea

c++ - cout 是否保证有 ctype<char> 刻面?

给定:autofoo="ABCDEFGHIJKLMNOPQRSTUVWXYZ"s我可以通过以下方式将所有字符转换为小写:use_facet>(cout.getloc()).tolower(data(foo),next(data(foo),foo.size()));LiveExample但这取决于cout.getloc()包含ctypefacet.假设我使用的是未修改的cout我可以假设cout.getloc()将包含facetctype还是我需要在使用前确认这一点:has_facet>(cout.getloc()) 最佳答案 来自c