问题标签 [cout]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
2320 浏览

c++ - cout 可以以某种方式改变变量吗?

所以我有一个看起来像这样的函数:

在某些时候,这个函数溢出并返回一个非常大的负值。为了尝试准确追踪发生这种情况的位置,我添加了一条 cout 语句,使函数看起来像这样:

它奏效了!当然,我通过使用 double 完全解决了这个问题。但是我很好奇为什么当我计算它时该功能可以正常工作。这是典型的,还是我在其他地方遗漏了一个错误?

(如果有帮助的话,存储在浮点数中的值只是一个整数值,并不是特别大的值。我只是将它放在浮点数中以避免强制转换。)

0 投票
4 回答
3408 浏览

c++ - 正确重载 stringbuf 以替换 MATLAB mex 文件中的 cout

MathWorks 目前不允许您cout在 MATLAB 桌面打开时使用 mex 文件,因为它们已重定向标准输出。他们当前的解决方法是提供一个函数mexPrintf,他们要求您使用它。在谷歌搜索了一下之后,我认为可以扩展std::stringbuf课程来做我需要的事情。这是我到目前为止所拥有的。这是否足够强大,还是我需要重载其他方法或更好的方法来做到这一点?std::cout(如果此代码未链接到 mex 可执行文件,则在一般 UNIX 环境中寻找可移植性以及正常使用的能力)

0 投票
7 回答
14751 浏览

c++ - 将 cout 分配给变量名

在 ANSI C++ 中,如何将 cout 流分配给变量名?我想要做的是,如果用户指定了输出文件名,我将输出发送到那里,否则将其发送到屏幕。所以像:

我也尝试将其作为宏函数执行:

但这也给了我一个编译器错误。

我想我可以为每个输出使用一个 IF-THEN 块,但如果可以的话,我想避免这种情况。有任何想法吗?

0 投票
10 回答
296189 浏览

c++ - C++ cout 十六进制值?

我想要做:

并让它在输出中显示 FF,我该怎么做?

0 投票
2 回答
226 浏览

c++ - c ++ cout自动大小写字符串?

是否可以做类似 cout << "my string"; 我的字符串大写了吗?据我所知,没有办法做到这一点?我需要把它包装在一个函数上

0 投票
16 回答
579525 浏览

c++ - 如何使用 cout 以全精度打印双精度值?

在我之前的问题中,我正在打印一个在我没有预料到的情况下被四舍五入的double使用。cout如何使用全精度进行cout打印?double

0 投票
3 回答
509 浏览

c++ - c ++输出和输入单个字符

我正在用 C++ 编写一个程序,它实现了一个双向链表,每个节点中都包含一个字符。我通过附加功能插入字符:

该功能实现如下:

但是,我认为存在一个问题,可能与 C++ 处理字符的方式有关。当我去打印我的列表时,不知何故我从来没有得到我已经附加到我的列表中的要打印的字符。这是我用来打印的:

我只是在打印时得到废话。它打印出我从未添加到列表中的字符——你知道,只是来自内存中某处的字符。这可能是什么原因造成的?

0 投票
3 回答
2538 浏览

printf - cout 和 printf 的缓冲区和输出序列

我知道今天 cout 和 printf 有缓冲区,据说缓冲区有点像堆栈,从右到左获取 cout 和 printf 的输出,然后从上到下将它们输出(到控制台或文件)。像这样,

然后我在下面写一个代码,

VS2005下,输出为

在 g++( (GCC) 3.4.2 (mingw-special)) 下,输出为,

看起来缓冲区就像一个堆栈。但是,我今天阅读了C++ Primer Plus,据说 cout 从左到右工作,每次返回一个对象(cout),所以“这就是让您通过插入连接输出的功能”。但是从左到右的方式无法解释 cout< 输出 9 8 7 现在我对 cout 的缓冲区如何工作感到困惑,有人可以帮助我吗?

0 投票
5 回答
5677 浏览

c++ - cout 的缓冲区是如何工作的?

我知道cout几天前有缓冲区,当我google它时,据说缓冲区有点像堆栈,从右到左获取cout和printf的输出,然后将它们输出(到控制台或文件) 从上到下。像这样,

然后我在下面写一个代码,

VS2005下,输出为

看来stack的方式是对的~ 不过昨天看了C++ Primer Plus,据说cout是从左到右的,每次都返回一个object(cout),所以“这就是让你拼接输出的特性通过使用插入”。但是从左到右的方式不能解释 cout<

然后Alnitak告诉我,“<< 运算符实际上是 ostream& operator<<(ostream& os, int),所以另一种写法是: operator<< ( operator<< ( operator<< ( cout, a ), b ), C )”,

如果最正确的论点首先被评估,它可以得到一些解释。

现在我对 cout 的缓冲区如何工作感到困惑,有人可以帮助我吗?

0 投票
17 回答
148829 浏览

c++ - how do I print an unsigned char as hex in c++ using ostream?

I want to work with unsigned 8-bit variables in C++. Either unsigned char or uint8_t do the trick as far as the arithmetic is concerned (which is expected, since AFAIK uint8_t is just an alias for unsigned char, or so the debugger presents it.

The problem is that if I print out the variables using ostream in C++ it treats it as char. If I have:

then the output is:

instead of

I tried using uint8_t, but as I mentioned before, that's typedef'ed to unsigned char, so it does the same. How can I print my variables correctly?

Edit: I do this in many places throughout my code. Is there any way I can do this without casting to int each time I want to print?