2012-07-22 34 views
7

¿Cómo puedo usar la entrada de consola en SublimeText 2.0.1? i'v elegido "Herramientas -> Build System -> C++", y añadir archivos hello.cpp al proyecto:Texto sublime con entrada de consola para programas de C++

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

creación satisfactoria, pero cuando corro ("Herramientas-> Ejecutar"), la línea "std :: cin >> a >> b;" se pasa y no puedo ingresar los valores. En la terminal con g ++ funciona bien. SO: Ubuntu 12.04

+0

duplicado posible de [Sublime Text 3 - compilar y ejecutar el programa en terminal] (https://stackoverflow.com/questions/21196077/sublime-text-3-compile-program-and-run-in-terminal) – jdhao

Respuesta

2

No creo que la entrada estándar es compatible con Sublime Text, sin embargo, puede crear un archivo stdin.input y utilizarlo debajo del editor:

#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

¡Gracias! Funciona. –

1

El único error que veo es que falta su int c; Y si eso no funciona, tal vez intente devolver 0; en lugar de return 1;

+0

Tienes razón. Pero mi problema con el editor "Sublime Text". Acabo de copiar ese código de forma inexacta. Voy a corregir mi pregunta. (Quiero decir que mi código está compilando con g ++ desde la terminal) –

Cuestiones relacionadas