VC ++和* nix编译器差异

时间:2016-08-25 17:42:33

标签: c++ visual-c++

所以,刚刚开始编程我在大学;不幸的是,这个:

  

提交必须是xx pt固定宽度字体的记事本* .txt文件

:捂脸:

除了这一点之外!所以它是必需的" (我还没有收到关于* nix是否合适的确认电子邮件,只要它适用于Windows)就可以使用VC ++,这似乎是非常不必要的:

#include <iostream>

int main()
{
    std::cout << "Hello, world." << endl;

    system("pause");

    return 0;
}

除了我无法在Windows环境中进行开发,更喜欢* nix机器......

我的问题是,以下代码是否可以在Windows中正确编译,特别是getline以尝试复制system("pause")功能:

#include <iostream>
#include <string>

using namespace std;

int main()
{
    string p;  

    cout << "Hello, world" << endl;
    cout << "Press enter...";
    getline(cin, p);

    return 0;
}

VC ++和* nix编译器之间是否存在影响简单程序执行结果的重大差异?

我在网上搜索过,并没有找到答案。

2 个答案:

答案 0 :(得分:2)

回答特定问题:是的,std::getline(std::cin, p)将暂停执行,直到从\n读取std::cin字符。这假定在显示提示之前没有这样的字符 - 例如,仅仅因为用户已按下它。

答案 1 :(得分:1)

使用one the个Visual Studio 2015在线编译器,您可以验证它确实可以编译。存在无法输入任何内容的问题,但您至少可以验证它是否编译并查看输出以供将来分配。