Je suis tout à fait nouveau à C ++ et j'ai une question sur la lecture de données de fichier texte.
J'ai un fichier texte contenant des données définis comme celui-ci: p> et le code que j'utilise pour lire est p> mais parfois, le fichier aura des lignes qui ressemblent à: p> Je ne sais pas comment gérer ces entrées. Toute aide serait appréciée, s'il s'agit d'une question de répétition, veuillez relier l'original. Merci p> p>
4 Réponses :
Lisez la ligne entière, recherchez le premier chiffre et divisez la ligne en deux sous-chaînes juste avant le premier chiffre. La première sous-chaîne est le nom et la seconde sous-chaîne contient les chiffres. P>
Comment vous gérez des noms avec plus de deux "mots" en eux, mais ce n'est pas si facile que cela puisse sembler que certains prénoms ne sont pas réellement appropriés, mais une partie du nom de famille (comme dans l'exemple de "Rob van Dam"). P>
Les chiffres sont plus faciles, surtout si vous utilisez un std :: vecteur code> pour les stocker au lieu d'une matrice de taille fixe, vous pouvez simplement utiliser lire les entiers à partir d'un
STD: : Istringstream code> à l'aide de l'opérateur d'entrée normal
>>> code> dans une boucle et repoussez-la dans le vecteur. P>
donc, std :: getline code>
sets écheckbit code> s'il n'a lu aucun caractère pour quelque raison que ce soit. p>
infile.fail () code> retournera
true code> si
échect code> a été défini, ce qui signifierait qu'il n'a pas lu les valeurs correctement (s'ils ne sont pas là par exemple). P>
Vous pouvez suivre le processus de pensée décrit ci-dessous
std::string line = ""; while(getline(file, line)) { //index = first occurrence of a digit //split the line at index - 1 //left_line = names, right_line = numbers //further processing can now be done using the left_line and right_line }
Voici cet esprit d'esprit que les gens ont L'astuce consiste à accepter des mots dans le nom du nom jusqu'à la première valeur de données ( La règle d'enregistrement analyse dans Camoring pour Strike> suggéré: ! int _ code> cette partie). p>
enregistrement code>: p>
démo complète en direct h2>
The Undertaker;4;3;2;6;
John Cena;22;19;8;5;
Rob Van Dam;45;65;35;95;
Hitman Bret Hart;34;9;16;
Hulk Hogan;9;
Kurt Angle;5;9;33;17;
Vous pouvez aimer
boost :: esprit code>. L'analyse est une entreprise complexe.
Si j'ai bien compris, vous voulez avoir accès à chaque variable du fichier texte?