草庐IT

c++ - 用结构(无类)cout 样式重载 "<<"

我有一个结构,我想使用“std::cout”或其他一些输出流来输出。这可能不使用类吗?谢谢#include#includetemplatestructpoint{Tx;Ty;};templatestd::ostream&dump(std::ostream&o,pointp)const{ostd::ostream&operator&a){returndump(o,a);}intmain(){pointp;p.x=0.1;p.y=0.3;dump(std::cout,p);std::cout我尝试了不同的语法,但我似乎无法让它发挥作用。 最佳答案

c++ - 函数 system() 如何在 C++ 中工作?

我正在尝试理解使用system("somecommand")在C++中进行的系统调用。这是代码#include#includeusingnamespacestd;intmain(){cout可执行文件“暂停”是从以下代码创建的#includeusingnamespacestd;intmain(){cout我得到以下输出enteranykeytocontinue1HelloWorld有人可以向我解释一下输出吗?我期待这个-Helloenteranykeytocontinue1World 最佳答案 system在shell中运行命令。但

c++ - 正在打印指向定义的 int 的成员指针

假设我有这段代码:#includestructMine{inta;intb;};intmain(){intMine::*memberPointerA=&Mine::a;intMine::*memberPointerB=&Mine::b;std::cout当我使用MicrosoftVisualC++(2015)运行它时我得到以下输出11我期望的输出更像这样:12所以这引出了一个问题:这是成员指针定义行为的打印吗? 最佳答案 有一个从指针到bool的定义转换。由于成员变量指针不是NULL,因此它们的计算结果为真并打印为1。

c++ - cout和write在c++中的区别

我仍然对c++中的ostream&write(constchar*s,streamsizen)和c++中的cout之间的区别感到困惑第一个函数将s指向的数据block(大小为n个字符)写入输出缓冲区。字符按顺序写入,直到写入n为止。而cout是表示标准输出流的类ostream的对象。它对应于cstdio流标准输出。任何人都可以清楚地指出这两个功能之间的区别。 最佳答案 ostream&write(constchar*s,streamsizen);是一个无格式输出函数,写的不一定是c-string,因此在数组s中找到任何空字符复制到目

c++ - 输出对齐列

我正在学习C++。我在格式化程序输出时遇到问题。我想在那里打印完全对齐的列,但到目前为止我做不到,这是我的代码:intmain(){employeeemployees[5];employees[0].setEmployee("Stone",35.75,053);employees[1].setEmployee("Rubble",12,163);employees[2].setEmployee("Flintstone",15.75,97);employees[3].setEmployee("Pebble",10.25,104);employees[4].setEmployee("Rock

c++ - 使用 cout 时发出奇怪的哔哔声

今天,当我在编写我的一些代码时,我在将缓冲区打印到屏幕时遇到了哔哔声。这是发出哔哔声的神秘角色:''我不知道你是否能看到它,但是当我尝试像这样打印它时我的电脑发出哔哔声:cout另一个有趣的地方是“哔哔声”不是来self的机载蜂鸣器,而是来self的耳机/扬声器这只是我的电脑还是cout函数有问题?编辑:那为什么打印这个字符会发出哔哔声呢?这是否意味着我可以通过cout函数发送其他此类字符以产生不同的效果? 最佳答案 0x7是产生“哔”声的ASCII字符。这是一个不可打印的字符。以下是ASCII字符及其代码的完整列表:http://

C++ cout 给出未声明的标识符

所以,我有这个问题。为什么cout会抛出errorC2065:'cout':undeclaredidentifier我正在使用VisualStudio2012作为IDE,并且正在编写一个学校项目。除了示例文件外,我已经完成了所有工作。所以我想像这样在屏幕上写一些东西:#include"iostream"#include"stdafx.h"usingnamespacestd;intmain(){cout所以问题出在cout上……printf工作正常,但我想使用cout。编辑:我已将""更改为但它没有帮助。此外,我仅使用此代码作为示例...这不是整个项目。 最佳

c++ - 如何在 cout 上使用 isatty(),或者我可以假设 cout == 文件描述符 1?

好吧,基本上,主题说明了一切。我有一个命令行实用程序,可以使用管道或i/o重定向以交互方式或在脚本中使用。我正在为i/o使用cin和cout,如果输出是控制台,我想在最后写一个额外的EOL,这样用户提示将从下一行。在脚本中,这将是有害的。我可以假设cin==0,cout==1吗?我知道没有干净的方法来获取流的文件描述符。或者是? 最佳答案 如果使用Linux(可能还有其他unix,但绝对不是Windows),您可以尝试isatty.没有从C++流中提取文件描述符的直接方法。但是,由于在C++程序中cout和stdout都是同时存在和

c++ - 外部 "C"时无法使用 cout/endl

我希望有人能帮助我解决这个小问题,因为我一无所获。首先,这里是代码:#include#include#includeusingnamespacestd;extern"C"{#include#include}intmain(){intiQuit;cout它不会让我使用std的东西(即cout、cin、endl等)。只有当我取出所有外部“C”代码时,它才会允许我使用它……这是为什么呢?有办法解决这个问题吗?编辑:抱歉,忘了告诉你确切的错误:它说标识符“cout”未定义谢谢 最佳答案 你的编译环境有问题。该代码没有任何问题。它编译并运行良

c++ - 为什么 cout.imbue(locale ("")) 会导致内存泄漏?

我的编译器是VisualVC++2013。下面最简单的程序会导致一些内存泄漏。为什么?如何修复?#define_CRTDBG_MAP_ALLOC#include#include#include#include#includeusingnamespacestd;intmain(){_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF|_CRTDBG_LEAK_CHECK_DF);cout.imbue(locale(""));//Ifthisstatementiscommented,thenOK.}调试窗口输出如下:Detectedmemoryleaks!Dumpingo