Dopo aver dichiarato un array di stringhe chiamato file[n] faccio immettere all'utente i nomi di alcuni file da aprire successivamente con questo codice
cout << "Inserire i nomi dei file di input(terminare dando la barra spaziatrice): ";
int ord = -1;
do
{
ord++;
getline(cin,file[ord]);
cout << file[ord] << ord; // questa istruzione è funzionale a capire il problema
}while (file[ord] != " ");
Il problema è che l'output dà
Inserire i nomi dei file di input(terminare dando la barra spaziatrice): 0NOMEIMMESSODALL'UTENTE1 2
il che mi fa capire che il primo nome del file viene memorizzato in file[1] e non file[0] com'era mia intenzione. Perché si comporta così?
p.s. Naturalmente il problema è risolvibile impostando ord = -2 prima del ciclo ma voglio capire perché si comporta così