Eclipse C 扭曲代码流
Eclipse c++ twists code flow
带有以下代码
#include <iostream>
using namespace std;
int main() {
int num;
cout << "Insert number: " << endl; // prints "Insert number:"
cin >> num; //Reads num
cout << num; //prints num
system("PAUSE");
return 0;
}
我在日食的内部控制台中得到以下结果:
Insert number: //code in line 6
3 //code in line 7 (Input)
Press any button... //code in line 10
//empty line after pressing any button
3 //code in line 8?!?!?
我不知道为什么会发生这种情况。看起来Eclipse只是扭曲了代码的执行。但是为什么以及如何解决这个问题?
它称为 buffering 。对std::cout
的输出是是缓冲,除非刷新缓冲区(在程序退出时发生),否则您将不会显示使用flush
或endl
标准I/O操纵器。
显示PAUSE
命令的输出是因为它绕过了过程的std::cout
缓冲,并且直接写入控制台窗口,或者因为它冲洗了自己的内部缓冲区(PAUSE
命令将作为无关的过程运行,具有自己的可能的缓冲)。
相关文章:
- GoogleMock发出用Eclipse构建C 的简单代码
- 在 Eclipse.It 中运行C++代码时出错,'Your program cannot output..'
- Eclipse C 扭曲代码流
- 启用Eclipse Che的C 代码完成
- Eclipse:C++静态库中的C代码被C++库引用会导致未定义的引用
- eclipse - 无缝调试 Java 和C++代码
- 在Eclipse中运行C++代码生成的exe文件时缺少MVCP100D.dll
- 代码在Eclipse中编译,而不是Linux上的G
- 如何在 Eclipse 中调试 Android 上的 OpenCV 示例的本机代码
- 如何在eclipse Android(NDK)中编译C/C++代码
- 如何介入在Eclipse和Linux上实现new()的代码
- 代码可以运行,但不在 Eclipse 中显示结果。
- 使用 FreeType2 在 Eclipse CDT 中完成代码
- 在 Eclipse 中使用 opencv 2.4.10 编译代码
- 漂亮的打印机,用于在Mac OS中使用Eclipse/CDT调试C++代码
- 使用 Eclipse 运行.exe C 代码文件
- 如何在代码中使用 Eclipse 项目变量
- OpenCV - C++ 代码在 Eclipse 中运行,但不在终端中运行
- 如何使用ndk在eclipse中导入和编辑C++代码
- 在Eclipse中调试从python脚本运行的C++代码