草庐IT

cout_member

全部标签

c++ - 为什么 std::cout << main << std::endl 打印 1?

这个问题在这里已经有了答案:Whycout(2个答案)Howtoprintfunctionpointerswithcout?(7个答案)g++"calling"afunctionwithoutparenthesis(notf()butf;).Whydoesitalwaysreturn1?(2个答案)关闭7年前。#includeintmain(){std::cout为什么它在命令行中打印1?

c++ - 在更改文件描述符 1 以引用不同的文件后,我应该如何管理::std::cout?

我想做dup2(fd,1);close(fd);并让::std::cout写入新的fd1.如何重置::std::cout所以没有什么好笑的?例如,预先冲洗是否足够?或者还有更多事情要做?我也很好奇::std::cin的相同之处。如果您更改了它们在它们下面使用的文件描述符,是否有重置它们的标准机制?明确地说,我的目标基本上是将我自己的输入和输出重定向到其他地方。我不想让进程无意中在其父级的标准输出上打嗝或试图从其父级的标准输入中消耗任何东西。而且我再也不想碰我parent的标准输入或标准输出了。我想忘记它们曾经存在过。我尤其不想无意中将输出发送到我parent在不同文件描述符上使用的同一

c++ - 如何编写具有 cout 样式接口(interface)的记录器类 (logger << "Error: "<< val << endl;)

我想创建一个具有如下功能的记录器类:Loggerlog;log这应该给我打印一条自定义格式的消息。例如。“12-09-200911:22:33看到错误5”我的简单类目前看起来像这样:classLogger{private:ostringstreamoss;public:templateLogger&operatorLogger&Logger::operator这将导致oss正确地拥有缓冲区“Error:5seen”。但我不知道我还需要编写/修改什么其他功能才能在屏幕上打印某些内容。有谁知道如何让它工作,或者是否有另一种方法来设计这个类来让我的功能正常工作?

c++ - CString 'Trim' : is not a member, 为什么?

我有一个简单的应用程序,我尝试用VCExpress编译并使用:适用于WindowsServer2003的Microsoft平台SDK,包含MFC和ATL。现在我有了这个简单的代码:CStringstrValue("test");CStrings=strValue.Trim();LPCTSTRlpStr=(LPCTSTR)strValue.Trim()这给我一个编译错误:c:\dev\test.cpp(463):errorC2039:'Trim':不是'CString'的成员c:\programfiles\microsoftplatformsdkforwindowsserver2003r

c++ - 我怎样才能使 cout 更快?

有什么方法可以使它运行得更快并且仍然做同样的事情吗?#includeintbox[80][20];voiddrawbox(){for(inty=0;yIDE:开发C++||操作系统:Windows 最佳答案 正如MarcB在评论中所说,先将输出放入字符串应该更快:intbox[80][20];voiddrawbox(){std::stringstr="";str.reserve(80*20);for(inty=0;y 关于c++-我怎样才能使cout更快?,我们在StackOverflo

c++ - cout 在终端中不显示任何内容

我只是想让我的C++代码在我的Mac终端中正确输出,但它没有显示任何内容。我使用xcode作为文本编辑器,将文件保存为Code.cpp,然后在终端中输入g++Code.cpp。在我的代码有错误时它显示错误之前,但现在它正确运行它不显示任何输出。有什么想法吗?这是我的代码:#includeusingnamespacestd;intmain(){cout这是我输入终端的内容,它只是跳到下一行,没有“HelloWorld”输出。jspencer$g++Code.cppjspencer$在此先感谢您的帮助! 最佳答案 g++是一个编译器。它

c++ - 带 float 的 std::cout

我正在使用visualstudio2015打印两个float:doubled1=1.5;doubled2=123456.789;std::cout::max())-d1)::max())-d2)这将打印以下内容:value1:1.5value2:123457maximumnumberofsignificantdecimaldigits(value1):15.6536maximumnumberofsignificantdecimaldigits(value2):10.8371为什么123457打印出值123456.789?当在没有std::setprecision()的情况下使用std:

c++ - 错误消息 : 'value_type' : is not a member of

我不明白这个神秘的错误消息,但我得到了30个`'value_type':isnotamemberof'TextFileLineBuffer'`当我在VC++6中编译以下代码时,//***行未注释。当然,如果我把它注释掉,它编译得很好。我想我在过去的两个小时里尝试了各种尝试,但都没有成功。任何提示将不胜感激。#include#include#include#include#include#include//wrapperforastringlinestructTextLine{std::stringm_sLineContent;operatorstd::stringconst&()con

c++ - 智能感知 : namespace "MSXML2" has no member "DOMDocument" in VS2012

我正在尝试编译我继承的项目,然后遇到了这个错误。以下是一些相关代码:#include...HRESULThr;hr=pDoc.CreateInstance(__uuidof(MSXML2::DOMDocument));有人可以帮忙吗? 最佳答案 我在Windows8中看到了类似的问题。似乎MSXML6.0没有公开DOMDocument,但它确实公开了DOMDocument60。为了帮助其他人通过搜索到达这里,您可能还会看到的编译器错误是:错误C2039:“DOMDocument”:不是“MSXML2”的成员尝试进行以下更改以明确使用

c++ - 如何重载 printf 或 cout

我在我的程序中使用cout语句来进行调试。我想制作一个像它一样工作或像printf一样工作但对全局变量敏感的函数。如果这个全局变量为真,那么它将打印到屏幕上。如果它是假的,那么它不会打印任何东西。已经有这样的功能了吗?如果不是,那如何制作? 最佳答案 像这样:intmyPrintf(constchar*format,...){if(globalCheck==0)return0va_listvl;va_start(vl,format);autoret=vprintf(format,vl);va_end(vl);returnret;}v