Reading entrée formaté en c ++

Ce fichier suivant a un général format (ou protocole!). Le texte est facile car il ne peut être interprétée d'une manière - sous forme de texte. Tôt ou tard, vous pouvez lire un fichier qui a ce genre d'information en elle:

Bonjour là mon numéro préféré est 13. Quand je vais à thestore je acheter 52 articles chaque semaine, à l'exception des dates thatstart avec 2, auquel cas je achète 53 items.Hello il mon numéro préféré est 18. Quand je vais à thestore je acheter 72 articles chaque semaine, à l'exception des dates thatstart avec 1, dans ce cas, je achète 73 items.Hello il mon numéro préféré est 10. Quand je vais à thestore je achète 40 articles chaque semaine, sauf sur les dates thatstart avec 2, dans ce cas, Je achète 41 articles.

Cependant, les chiffres pourraient être interprétés comme du texte (les caractères 1 et 3 par exemple) ou comme une valeur (le numéro 13). Comment pouvez-vous lire dans les chiffres? Une façon est de lire cordes pour chacun des mots et de les ignorer. Voici un morceau de l'échantillon de code qui lit jusqu'à le premier numéro, le nombre préféré:

ifstream infile ("words.txt") - chaîne skip-for (int i = 0- ILT; 6- i ++) infile >> Skip-int-infile préférée >> favorite-

Ce code lit dans six cordes et les ignore tout simplement. Vous pouvez voir comment vous faites cela à travers une boucle qui compte de 0 à 6. y compris mais pas (Ah, tu dois ordinateurs d'amour. La plupart des gens il suffit de compter 1 à 6.)

Puis, après avoir lu les six cordes que vous simplement ignoré, vous avez enfin lire le numéro préféré comme un nombre. Notez que les mots individuels utilisent une variable de type chaîne et la valeur numérique utilise une variable de type int. Vous pouvez ensuite répéter le même processus pour obtenir les numéros restants.


» » » » Reading entrée formaté en c ++