Ciao a tutti!
Ho 2 quesiti correlati.
1) La funzione strlen mi dà la lunghezza della stringa passata come parametro. Ma contando anche il teminatore di stringa oppure no?
ho fatto questa prova:
inserendo una stringa di 10 caratteri per esempio 1234567890codice:char stringa [10]; cout<<"scrivi una frase"<<endl; cin.getline (stringa,10); cout<<"la lunghezza della stringa e': " << strlen(stringa);
la funzione strlen mi dice che la stringa ha lunghezza 9.
Perche'?
cin.getline (stringa,10); non dovrebbe leggere 10 caratteri e quindi poi la funzione strlen dirmi che la lunghezza e' 10?
2) Dubbio sorto dal primo.
Se dichiaro:
char stringa [10];
significa che ho 10 posizioni libere + 1 per il terminatore di stringa \0?
oppure che ne ho 9 libere e la decima è per il terminatore di stringa \0?
Grazie in anticipo.