2010-01-21 6 views
0
Saisie

je veux stocker une chaîne saisie par l'utilisateur, y compris les caractères d'espace dans le tableau suivantune chaîne

char array[100]; 

comment puis-je le faire.

+0

Et si l'utilisateur entre 101 caractères? –

+0

puis ignorer les caractères 101 et au-delà. quel est le problème? –

+1

@San Jacinto: Eh bien, c'est * un gros problème en pratique, et responsable de nombreux failles de sécurité dans les logiciels modernes. BTW, que se passe-t-il si l'utilisateur saisit ** 100 ** caractères? –

Répondre

3

Vous pouvez utiliser ce qui suit pour obtenir la chaîne saisie par l'utilisateur à un objet de chaîne, puis le convertir à tout ce dont vous avez besoin:

string c; 
getline(cin, c); 
2
cin.getline(array, 100, '\n'); 
+0

ce que cela signifie expliquer ?? –

+2

@ Zia ur Rahman: Stackoverflow peut vous donner un indice dans la bonne direction, mais nous ne pouvons pas vous apprendre la langue. Vous n'aurez pas la chance d'apprendre le C++ sans avoir un manuel à votre aide pour expliquer les choses indiquées ici. (BTW: Je suggère fortement que vous abandonniez l'idée d'utiliser des tableaux de caractères.Utilisez plutôt des chaînes comme indiqué dans la réponse de frbry: http://stackoverflow.com/questions/2111292/2111339#2111339) – sbi

Questions connexes