草庐IT

prinf-cout

全部标签

c++ - std::cout 不会打印

std::cout有没有什么情况?不工作?我有一个c/c++代码,但是std::cout不打印任何内容,甚至不打印常量字符串(例如“hello”)。有什么方法可以检查cout是否能够/无法打开流?有一些成员函数,如good(),bad(),...但我不知道哪一个适合我。 最佳答案 确保刷新流。这是必需的,因为输出流是缓冲的,除非您自己手动刷新缓冲区,否则您无法保证何时刷新缓冲区。std::coutstd::endl将输出换行符并刷新流。或者,std::flush将只是进行刷新。也可以使用流的成员函数来完成刷新:std::cout.f

c++ - 在同一个程序中混合 cout 和 wcout

我正在阅读“C++Cookbook”,其中包含以下片段://cout如果您有兴趣查看实际示例,这里是alinktothepageonGooglebooks.另外,我发现了这个SOquestion这似乎表明混合wcout和cout是可以的。有人可以向我解释一下这条评论在说什么吗?编辑来自C++标准[27.4.1]:Mixingoperationsoncorrespondingwide-andnarrow-characterstreamsfollowsthesamesemanticsasmixingsuchoperationsonFILEs,asspecifiedinAmendment1o

c++ - 在同一个程序中混合 cout 和 wcout

我正在阅读“C++Cookbook”,其中包含以下片段://cout如果您有兴趣查看实际示例,这里是alinktothepageonGooglebooks.另外,我发现了这个SOquestion这似乎表明混合wcout和cout是可以的。有人可以向我解释一下这条评论在说什么吗?编辑来自C++标准[27.4.1]:Mixingoperationsoncorrespondingwide-andnarrow-characterstreamsfollowsthesamesemanticsasmixingsuchoperationsonFILEs,asspecifiedinAmendment1o

c++ - 变量模板和 std::cout -- 构造顺序

看起来我们可以安全地在具有静态存储持续时间的对象的构造函数中使用std::cout对象,如question中所述.但是,我不完全确定在变量模板的情况下我们可以安全地使用它们:#includetemplateTx=T{};voidfoo(){classTest{public:Test(){std::cout;}intmain(){std::cout此代码在clang(liveexample)中崩溃,我不确定它是否是错误。 最佳答案 正如该问题中所解释的,#include相当于定义一个全局变量staticstd::ios_base::I

c++ - 变量模板和 std::cout -- 构造顺序

看起来我们可以安全地在具有静态存储持续时间的对象的构造函数中使用std::cout对象,如question中所述.但是,我不完全确定在变量模板的情况下我们可以安全地使用它们:#includetemplateTx=T{};voidfoo(){classTest{public:Test(){std::cout;}intmain(){std::cout此代码在clang(liveexample)中崩溃,我不确定它是否是错误。 最佳答案 正如该问题中所解释的,#include相当于定义一个全局变量staticstd::ios_base::I

c++ - 为什么 visual studio code 告诉我 cout 不是 std 命名空间的成员?

我正在尝试设置VisualStudio代码以使用C++进行编程。我已经安装了扩展程序C/C++和C/C++Intellisense以下是我的代码:#includeusingnamespacestd;intmain(){cout我得到的错误是identifiercoutisundefined当我把它写成std::cout我得到的错误是namespacestdhas没有成员cout。以下是我的task.json文件:{"version":"0.1.0","command":"make","isShellCommand":true,"tasks":[{"taskName":"Makefile

c++ - 为什么我不能使用 cout 在 C++ 中打印字符串值数组?

这个问题在这里已经有了答案:Coutofastringisgivinganerrorandahardtimesomeinsighthelppls?(3个答案)关闭8年前。这是我正在编写的一个非常简单的程序的代码片段。我是C++的新手,但有Java背景,所以我可能对打印值的工作方式有先入之见。我的问题是当我执行此行时:cout我收到一条错误消息,指出操作数与为什么会这样?代码如下:#include"stdafx.h"#includeusingnamespacestd;int_tmain(intargc,_TCHAR*argv[]){stringverticies[6]={"AB","AC

c++ - 在 C++ 中多线程时与 cout 和 printf 的区别

一些背景:我有一个使用pthreads的多线程C++程序。该程序是一个酒店预订系统,有10位客人(每个人都有自己的线程),一个入住台(1个线程)和一个退房台(1个线程)。酒店只有5个房间可供客人入住。我在这个程序中使用信号量来强制执行互斥和事件排序。问题:这是我的代码(只是需要的部分...)sem_init(&openRooms,0,5);sem_wait(&openRooms);//waitsfortheretobeanopenroomatthehotelcout酒店有5个房间,因此一次可以入住5位客人。当我运行程序时,我得到输出(或类似...)GuestGuestGuestGues

c++ - cpp cout中的单引号

关闭。这个问题是notreproducibleorwascausedbytypos.它目前不接受答案。这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topic在这里,这个问题的解决方式不太可能帮助future的读者。关闭4年前。Improvethisquestion摘自《Programming:PrinciplesandPracticesusingC++》第72–73页:Wesawthatwecouldn’tdirectlyaddcharsorcompareadoubletoanint.However,C++providesanindirectwaytodob

c++ - 为什么 'operator<<(cout, double)' 不起作用?

我正在研究重载运算符。我不明白使用之间的区别-double上的运算符(operator)/一个std::string.intmain(){doublea=12;strings="example";operator为什么不是operator和cout.operator工作? 最佳答案 因为该运算符被定义为成员函数,而不是自由函数。运算符可以通过这两种方式重载,当与常规运算符语法一起使用时,这对用户来说是透明的。但是,当使用显式语法时,您必须使用特定于实际函数定义的语法。此示例显示了实践中的差异:classStream{Stream&o