Errore Cout

di il
15 risposte

Errore Cout

Cout << "INSERISCI STRING1: ";
cin >> string1;

cout <<"INSERISCI STRING2: ";
cin >> string2;

se scrivo in questo modo. l'output è:

inserisci strin1: ""

inserisci stringa2: "

perché clion mette lo spazio nella nuova riga e non nella riga corrente come scritto?

15 Risposte

  • Re: Errore Cout

    1) Il codice scrivilo dentro il tag CODE
    2) Spiegati meglio perchè non ho capito cosa tu intenda
  • Re: Errore Cout

    Quale spazio? Cerca di essere più chiaro
  • Re: Errore Cout

    Scusate, suono nuovo.
    int main() {
        char * ret_accoda_stringhe;
        char string1[30+1],string2[30+1];
    
        cout << "INSERISCI STRING1: ";
        cin >> string1;
    
        cout <<"INSERISCI STRING2: ";
        cin >> string2;
    Con il Run avrò:
    INSERISCI STRING1:ciao
    (spazio) INSERISCI STRING2:mamma

    La mia domanda è: Perchè lo spazio (tabulazione) che scrivo nel cout, dopo i due punti, non risulta nella riga dove l'ho scritto, ma compare subito prima della stesura del secondo cout? Il compilatore poi, quando clicco con il puntatore sul terminale per inserire la stringa, mi fa inserire subito dopo i due punti senza che ci sia lo spazio fra i due punti e nell'esempio "ciao"
  • Re: Errore Cout

    Se nelle stringhe di input vuoi inserire gli spazi, usa getline:
    
    #include <iostream>
    using namespace std;
    
    string string1;
    string string2;
    
    int main() {
    
        cout << "INSERISCI STRING1: ";
        getline (cin, string1);
    
        cout <<"INSERISCI STRING2: ";
        getline (cin, string2);
    
        cout<<endl<<string1<<endl<<string2<<endl;
    
        return 0;
    }
    
    output:
    
    INSERISCI STRING1: frase uno con spazi
    INSERISCI STRING2: seconda frase con spazi
    
    frase uno con spazi
    seconda frase con spazi
    
    Process returned 0 (0x0)   execution time : 19.354 s
    Press any key to continue.
    
    
  • Re: Errore Cout

    No @Rubik mi sa che non hai capito il problema ...

    @JosepH2OW ... prova ad aggiungere all'inizio del main la riga

    setbuf(stdout, NULL);
  • Re: Errore Cout

    oregon ha scritto:


    No @Rubik mi sa che non hai capito il problema ...

    @JosepH2OW ... prova ad aggiungere all'inizio del main la riga

    setbuf(stdout, NULL);
    Provato.Stesso problema
  • Re: Errore Cout

    Prova con

    std::cout.setf(std::ios::unitbuf);
  • Re: Errore Cout

    Se invece della tabulazione metti uno spazio normale, funziona?
    Per usare la tabulazione nel cout, fai così :
    cout << "INSERISCI STRING1:\t";
  • Re: Errore Cout

    oregon ha scritto:


    Prova con

    std::cout.setf(std::ios::unitbuf);
    provato anche questo , ma nulla
  • Re: Errore Cout

    Alexv ha scritto:


    Se invece della tabulazione metti uno spazio normale, funziona?
    Per usare la tabulazione nel cout, fai così :
    cout << "INSERISCI STRING1:\t";
    il risultato è
    INSERISCI STRING1:ciao
    (tabulazione)INSERISCI STRING2:mamma
  • Re: Errore Cout

    Beh cambia compilatore
  • Re: Errore Cout

    oregon ha scritto:


    Beh cambia compilatore
  • Re: Errore Cout

    Prova
    
       cout << "INSERISCI STRING1: " << flush;
    
  • Re: Errore Cout

    Weierstrass ha scritto:


    Prova
    
       cout << "INSERISCI STRING1: " << flush;
    
    Provato ma non andava. Comunque risolto in questa maniera per chi fosse interessato:
    Era un problema di Mingw, bisognava andare in help, find action,Scrivere Registry e disabilitare run.processes.with.pty, con il restart di clion ha funzionato tutto.
Devi accedere o registrarti per scrivere nel forum
15 risposte