Sublime Text с консольным вводом для программ на c++

Как я могу использовать консольный ввод в SublimeText 2.0.1? Я выбрал " Tools - > Build System - > C++" и добавил hello.cpp файл для проекта:

#include <iostream>
int main() 
{
    int a, b, c;
    std::cout << "Enter: ";
    std::cin >> a >> b;
    c = a + b;
    std::cout << a << '+' << b << '=' << c << std::endl;
    return 0;
}

Build успешно, но когда я запускаю ("Tools - >Run"), строка "std::cin >> a >> b;" передается, и я не могу ввести значения. В терминале с g++ он работает хорошо. ОС: Ubuntu 12.04

2 ответов


Я не думаю, что stdin поддерживается в Sublime Text, однако вы можете создать файл stdin.input и используйте его под редактором:

#include <iostream>
#include <fstream>

#define SUBLIME

#if defined SUBLIME
#  define ISTREAM ifile
#else
#  define ISTREAM std::cin
#endif

int main() 
{
    int a, b, c;
    std::cout << "Enter: ";
    #if defined (SUBLIME)
      std::ifstream ifile("stdin.input");
    #endif
    ISTREAM >> a >> b;
    c = a + b;
    std::cout << a << '+' << b << '=' << c << std::endl;
    return 0;
}

единственная ошибка, которую я вижу, это то, что ваш отсутствующий int c; И если это не сработает, попробуйте вернуть 0; вместо возврата 1;