Ho problemi a leggere da un file di input. Il file di input appare cosìLettura dal file di input
Lionel Messi -10 43
Fernando Torres 9 -29
Cristiano Ronaldo 7 31
Wayne Rooney 10 37
Neymar 17 29
Andres Iniesta 8 32
Robin van Persie 19 20
Lionel Messi 10 43
Xavi 6 36
Mesut Özil 10 38
Didier Drogba 10 35
Fernando Torres 9 29
Kaká 10 17
Il problema è che non posso usare la funzione getline perché voglio memorizzare il nome in una singola variabile da memorizzare in una matrice, e il primo numero in una variabile e il secondo in un'altra variabile. Ho anche provato a usare la funzione Peek ma non l'ho mai imparato, quindi non ho avuto successo con esso. Se qualcuno sa come leggere fino alla fine del nome e memorizzarlo in una singola variabile sarebbe molto apprezzato.
Questo è ciò che il mio codice è simile quando im lettura dal file di input
while(!fin.eof())
{
fin >> first >> last >> num >> point;
if (num > 0 && point > 0)
{
list[i].firstname = first;
list[i].lastname = last;
list[i].number = num;
list[i].points = point;
i++;
}
else if (num < 0 || point < 0)
{
reject[j].firstname = first;
reject[j].lastname = last;
reject[j].number = num;
reject[j].points = point;
j++;
}
}
Questo funziona perfettamente se l'ingresso ha un primo e un cognome. So che il problema è su pinna >> prima >> ultima >> num >> punto;
ma io non sono esattamente sicuro di come mettere prima e l'ultima (e possibilmente al centro) insieme
Ah, ma è possibile utilizzare 'getline'. – chris
Lo "spazio" tra le parti dei nomi è lo stesso di quello tra l'ultimo nome e i numeri? Sarebbe di grande aiuto se fosse un carattere tab '\ t'' tra l'ultimo dei nomi e i numeri. Altrimenti, (probabilmente) vorrete leggere un'intera riga e quindi rimuovere i bit numerici dal retro della stringa (usando 'std :: string :: find_last_of' e' std :: string :: substr' per esempio) –
Sì, tutti gli spazi sono gli stessi tra i nomi e i numeri. Quindi è possibile memorizzare l'intera linea in una variabile stringa, quindi rimuovere i due numeri dalla fine della stringa e inserirli in variabili separate? – kylekolossus