为什么std :: cin输出给它的任何东西?

时间:2015-06-18 20:14:17

标签: c++ c++11 stdin

我一直致力于学习C ++,显然,最初的一步是学习获取输入和输出。但是,我遇到了一个问题,当我调用std :: cin并使用它将返回的信息放入变量时,它会打印出给它的任何东西,就像打印出来的那样。同一行。所以代码:

#include <iostream>

int main()
{
    using std::cout;
    using std::cin;
    using std::endl;
    cout << "Hello World" << endl;
    cout << "Testing this ";
    int x;
    cin >> x;
    cout << x;
    return 0;
}

返回:

C:\Users\...\LearnCpp.exe
Hello World
Testing this5
Testing this 5
5
Process finished with exit code 0

值得注意的是,当我输入5时,它就在旁边,就像在&#34; this5&#34;中,即使那里应该有一个空格。然后,一旦我按下回车键,它就会按照它应该看起来打印出来,&#34;这5&#34;。

我已经尝试过没有空间而且它做了同样的事情,并且在#34;测试这个&#34;之后我用新行尝试了它,它打印了5次:

C:\Users\...\LearnCpp.exe
Hello World
Testing this
5
5
5
Process finished with exit code 0

我已经在互联网上寻找原因,而且我的智慧结束了。我正在使用CLion与MinGW和CMake。我的CMakeLists.txt文件如下所示:

cmake_minimum_required (VERSION 3.2)
project (LearnCpp)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")

set(SOURCE_FILES main.cpp)
add_executable(LearnCpp ${SOURCE_FILES})

任何人都可以看到我做错了什么,或者我的设置可能出现了什么问题?

0 个答案:

没有答案