Domanda

Per la scuola, usiamo C ++ come il linguaggio della scelta. Attualmente sto usando QtCreator come un IDE, e per la sua libreria GUI, è meraviglioso. La scuola sta usando Visual Studio.

Tuttavia, la maggior parte dei programmi che stiamo scrivendo fanno uso di cin e cout per l'input / output. cout funziona bene come uscita, come si può vedere ciò che si mette fuori in uscita dell'applicazione, ma non c'è modo per fornire ai cin come se fosse su una console, come Visual Studio utilizza per il suo C ++.

Un esempio:

#include <iostream>
#include <string>
using namespace std;
int main() {
    string name;
    cout << "Enter name: ";
    cin >> name;
    cout << "Your name is " << name << endl;
}

C'è un modo per utilizzare una console o fornire input per cin come in Visual Studio?

Sono attualmente in esecuzione OS X Leopard, se è importante.

È stato utile?

Soluzione

In Preferenze, nella sezione Ambiente, impostare l'opzione "Terminal" per /Applications/Utilities/Terminal.app, come sottolineato da Alex Martelli.

Poi, nella scheda Progetti, in Impostazioni Run, controllare la casella "Esegui nel terminale".

Ora, QtCreator utilizzerà Apple built-in Terminal.app invece di console di Qt, consentendo di input interattivo.

Altri suggerimenti

Se stai facendo "console" apps -style senza interfaccia grafica, Qt Creator potrebbe non essere il più appropriato IDE - perché non provare proprio XCode di Apple, che deriva probabilmente sul vostro sistema operativo DVD (come un programma di installazione separato), e nel caso peggiore può essere liberamente scaricato registrandosi al Apple Developer Connection ?

Modifica : come l'OP indica che tutti hanno bisogno è la posizione di applicazione terminale di Mac, questo è facile:. È /Applications/Utilities/Terminal.app

#include <QCoreApplication>
#include <iostream>
#include <string>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    std::string name;
        std::cout << "Enter name: ";
        std::cin >> name;
        std::cout << "Your name is " << name << std::endl;


    return a.exec();
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top