prendre une entrée d'un mot chaîne par mot
J'ai juste commencé à apprendre le C++. J'étais en train de jouer avec elle et suis tombé sur un problème qui a impliqué la prise d'entrée d'une chaîne de mot en mot, chaque mot séparé par un espace. Ce que je veux dire c'est, supposons que j'ai
name place animal
que l'entrée. Je veux lire le premier mot, de faire des opérations dessus. Ensuite, lisez le deuxième mot, de faire certaines opérations, et ensuite de lire le mot suivant, ainsi de suite.
J'ai essayé de ranger l'ensemble de la chaîne de caractères dans un premier temps avec getline comme ce
#include<iostream>
using namespace std;
int main()
{
string t;
getline(cin,t);
cout << t; //just to confirm the input is read correctly
}
Mais alors, comment dois-je effectuer l'opération sur chaque mot et passer au mot suivant?
Aussi, tout autour de googler sur le C++, j'ai vu à de nombreux endroits, au lieu d'utiliser "using namespace std" les gens préfèrent écrire "std::"
avec le tout. Pourquoi? Je pense qu'ils font la même chose. Alors pourquoi prendre la peine de l'écrire encore et encore?
source d'informationauteur aandis
Vous devez vous connecter pour publier un commentaire.
Mettre la ligne dans un stringstream et de l'extrait de mot par mot:
Bien sûr, vous pouvez simplement ignorer le getline partie et lire mot par mot de
cin
directement.Et ici vous pouvez lire pourquoi est
using namespace std
considéré comme une mauvaise pratique.(C'est pour le bénéfice d'autres personnes qui peuvent consulter)
Vous pouvez simplement utiliser cin et un char tableau. Le cin d'entrée est délimitée par le premier espace rencontré.
getline est le stockage de l'ensemble de la ligne à la fois, ce qui n'est pas ce que vous voulez. Une solution simple est d'avoir trois variables et utiliser cin pour obtenir tous les. C++ va analyser automatiquement à la des espaces.
Je ne sais pas quel est le "fonctionnement" vous êtes en train de parler, donc je ne peux pas vous aider là-bas, mais si c'est l'évolution des personnages, de lire sur la chaîne et les indices. Le C++ documentation est grande. Comme pour using namespace std; rapport std:: et dans d'autres bibliothèques, il y a déjà beaucoup dit. Essayez ces questions sur StackOverflow pour commencer.