最新xcode中有关cout不输出的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最新xcode中有关cout不输出的问题相关的知识,希望对你有一定的参考价值。

上两张图,图一可以看出,在cout结尾有endl的时候,cout输出正常,cin也能接收,图二删掉cout结尾的endl,cout就无法输出了,简直醉了前两天刚更新的xcode,难道又有什么新的c++标准了?不用endl清除缓冲区就没法输出了?求解怎么解决,不想用print系列,输入输出流省事

参考技术A 这个不是最新的问题
而是C语言和C++一直都是这样的。
输出不会直接输出到屏幕
而是先存在缓冲中
遇到三种情况会刷新到屏幕
1 遇到换行符。 这个是最常见的。 加一个\n或者endl就好
2 调用刷新缓冲区函数 比如fflush等。
3 缓冲区满。 这个遇到的概率最低。 不过 如果你死循环打印一个字符, 没有endl情况下, 过一段时间会出来一大段。追问

一直都这样?以前用cout的时候从来不会这样啊。而且根据标准c的规范,
在1、缓冲区满 2、遇到换行符 3、遇到输入这三种情况时,从缓冲区输出到屏幕,根据图2,我已经满足了第三种情况,有了输入,但依旧没有输出到屏幕

追答

遇到输入还不刷,那可能就有问题了。你试试加flush看看行不行

以上是关于最新xcode中有关cout不输出的问题的主要内容,如果未能解决你的问题,请参考以下文章

cerr与cout

有关C++小数输出?

cin与cout详解

使用Xcode8编译旧项目遇到的问题

coutcerrclog

在没有最新 Xcode 版本的情况下向 Apple 提交 App