2017-11-04 2 views
-3
char array[] {}; 
cin>>array; 

Wenn ich diesen Code Führen Sie das Programm fragen Benutzer zur Eingabe Nachricht so, wenn Benutzereingaben „Play“Get Anzahl der Zeichengruppe C++

array[0] = P 
array[1] = l 
array[2] = a 
array[0] = y 

i int-Variable machen wollen die Freunde haben, die Anzahl der das Zeichen, dass der größte Index des Arrays in oder setzen Benutzer

Danke

+5

'Char-Array [] {}' ist nicht Standard-C++. Es verwendet eine gcc-Erweiterung. Verwenden Sie stattdessen 'std :: string'. – wally

Antwort

1

Arrays eine feste Kapazität haben, entweder bei der Kompilierung:

char text[1024]; 

oder dynamisch zur Laufzeit zugeordnet:

cout << "Enter text length: "; 
size_t length; 
cin >> length; 
char *text2 = new char[length]; 

Für Text gibt es die std::string Art, die nach Bedarf erweitern:

std::string word; 
cout << "Enter word: "; 
cin >> word; 
cout << "Length of word: " << word.length() << "\n"; 

Wenn Sie Muss Verwendung Zeichen-Arrays, Sie müssen die str*() Familie von Funktionen verwenden:

char hello[]="hello"; 
cout << "Length is: " << strlen(hello) << "\n"; 

Die bevorzugte Methode ist die Verwendung std::string für Text und std::vector für Arrays.

Achtung: Verwenden Sie keine cin >> character_array, wie cin nicht die Größe des Arrays kennen und Sie überlaufen könnte.
Beispiel: Jetzt

char word[2]; 
cin >> word; 

, geben Sie in "Welt", und das Array würde überschwemmt werden.

Verwandte Themen