2012-07-22 8 views
7

Wie kann ich Konsoleneingabe in SublimeText 2.0.1 verwenden? I'v gewählt "Extras -> Build System -> C++" und hello.cpp Datei zum Projekt hinzufügen:Sublime Text mit Konsoleneingabe für C++ - Programme

#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; 
} 

erfolgreich bauen, aber wenn ich laufen ("Tools-> Run"), die Linie "std :: cin >> a >> b;" ist bestanden und ich kann die Werte nicht eingeben. Im Terminal mit g ++ läuft es gut. OS: Ubuntu 12.04

+0

Mögliches Duplikat [Sublime Text 3 - kompilieren Programm und führt in Terminal] (https://stackoverflow.com/questions/21196077/sublime-text-3-compile-program-and-run-in-terminal) – jdhao

Antwort

2

Ich glaube nicht, stdin in Sublime Text unterstützt wird, können Sie jedoch eine Datei stdin.input erstellen und unter dem Editor verwenden:

#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; 
} 
+0

Vielen Dank! Es klappt. –

1

Der einzige Fehler, den ich sehe, ist, dass Ihre fehlende int c; Und wenn das nicht funktioniert, versuche vielleicht, 0 zurückzugeben; statt Rückkehr 1;

+0

Sie haben Recht. Aber mein Problem mit dem Editor "Sublime Text". Ich habe den Code nur ungenau kopiert. Ich werde meine Frage korrigieren. (Ich meine, dass mein Code mit g ++ aus Terminal gut kompiliert) –