Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [Visual C++] Mangia lettera

    Ciao raga, sapete dirmi ,perche' usando queste istruzioni , quando inserisco la seconda stringa, il compilatore non mi vede la sua prima lettera:
    codice:
     string nome, marca;
     ofstream write("Listino.txt",ios::out);
     cout << "Inserisci il nome:"<<endl; 
     cin.ignore();
     getline (cin,nome);
     nome.resize(20);
     write << nome; 
    
     cout << "Inserisci la marca:"<<endl; 
     cin.ignore();
     getline (cin,marca);
     cout<< "STRINGA = " << marca <<endl;
     marca.resize(20);
     write << marca;
    Sia sul video che sul file, ad esempio, se io inserisco:
    NOME = HARD DISK 80GB;
    MARCA = Olidata;

    mi viene stampato il nome bene, ma la marca:
    lidata // si mangia la lettera O

  2. #2
    Sostituisci i cin.ignore() con dei cin.sync().
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Il cin.ignore doveva andare SOLO prima della prima getline (ovvero dopo la scanf), non ovunque ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  4. #4
    ok adesso funziona, vi ringrazio

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.