Quello che sto cercando di fare è fondamentalmente:Clion standard input durante il debug
./myProgram < myData.txt
mentre io sono il debug con Clion IDE. Non riesco proprio a trovare l'opzione per farlo.
A similar domanda - ma per MSVS
Quello che sto cercando di fare è fondamentalmente:Clion standard input durante il debug
./myProgram < myData.txt
mentre io sono il debug con Clion IDE. Non riesco proprio a trovare l'opzione per farlo.
A similar domanda - ma per MSVS
specifica del prodotto che ho avuto lo stesso problema e sembra che Clion non gestisce ancora ingressi standard.
Ho risolto questo problema modificando il flusso di input prima di eseguire il mio programma.
Per fare un esempio, se si desidera introdurre un flusso di file all'interno del vostro standard input è possibile scrivere nel vostro principale:
std::ifstream in("ABSOLUTE_PATH_TO_YOUR_FILE");
std::cin.rdbuf(in.rdbuf());
allora si può trovare un modo per cambiare questo flusso changement quando si desidera. Si noti che per i file è necessario fornire un percorso assoluto poiché l'applicazione viene eseguita da una directory diversa da quella corrente.
Spero che questo possa aiutare finché Clion non fornisce una soluzione reale.
Se non vuoi farlo con un file, ricorda che c'è 'stringstream's che puoi utilizzare – smac89
Assumendo che il file di input è myData.txt
, è possibile riaprire/riutilizzare il flusso stdin
utilizzando freopen
freopen("myData.txt","r",stdin);
se si vuole fare lo stesso con l'output:
freopen("myOutput.txt","w",stdout);
questo funzionerà per std :: cin, printf, ecc ...
Potete trovare ulteriori informazioni su questo qui: http://www.cplusplus.com/reference/cstdio/freopen/
A proposito, c'è già una richiesta di funzionalità per questo. Se sei interessato, puoi votare qui in modo che abbia la priorità: https://youtrack.jetbrains.com/issue/CPP-3153
Per me, CLion crea l'eseguibile in un file chiamato "cmake-build-debug". Controlla la mia struttura dei file nella foto.
Poi, ho appena aperto il mio terminale e sono andato alla directory contenente l'eseguibile e usato questo comando per tubo nel file di testo:
./FirstProject < ../hw1.txt
Sì, ma questo è chiedere informazioni sul debug. Non è lo stesso che eseguire il programma – smac89
Si dovrebbe avere più fortuna questa domanda in appropriato dev's [forum] (https://devnet.jetbrains.com/community/clion?view=discussions) – Dialecticus