崇高的文字在cin之后没有进行我的代码。我该怎么办?

时间:2016-07-21 23:16:19

标签: c++

所有

我对编程很陌生,而且我现在用崇高的文本编辑器教自己C ++。我在通过cin输入内容后代码无法继续存在问题。例如,

#include <iostream>
using namespace std;

int main() {
  string password = "password";
  cout << "Enter your password: " << flush;

  string input;
  cin >> input;

  if(input == password) {
    cout << "Password accepted." << endl;
  } else {
    cout << "Access denied." << endl;
  }
  return 0;
}

在我输入之后,它没有提及任何诸如接受密码和#34;或者&#34;访问被拒绝&#34;。有谁知道如何解决这个问题并让它工作?感谢。

2 个答案:

答案 0 :(得分:2)

如前所述,您的代码可以正常运行。

问题是当你在sublime文本中构建一个c ++程序时,它将编译该文件然后运行。你看到的是崇高的文本,将程序的输出传回到崇高文本中的窗口。

Sublime无法将输入发送回您的程序。因此,在我通过cin&#34;输入内容之后,为什么你的程序没有继续进行。 linux版本的sublime上有一些插件可以访问一个完整的终端模拟器,我没有尝试使用其中一个,但它们确实存在。

我建议您学习如何使用命令行使用gnu工具链。

答案 1 :(得分:0)

在Submlime中执行此操作的一种方法是创建新的构建系统。

  1. 转到工具&gt;构建系统&gt;新建系统..
  2. 将下面的内容粘贴到打开的文件中并保存。

    { "cmd": ["bash", "-c", "/usr/bin/g++ '${file}' -o '${file_path}/${file_base_name}' && open -a Terminal.app '${file_path}/${file_base_name}'"] }

    *这适用于Mac OSX,您可以根据自己的环境进行更改。

  3. 将构建系统更改为已保存的名称

  4. 下次构建时,会有一个新的终端应用程序窗口等待cin输入。