Accès à des entiers depuis des fichier

Accès à des entiers depuis des fichier

by Arnault Dominic Philippe Stähli -
Number of replies: 2

Bonjour,

Est-ce le bon endroit pour poser une question sur la programmation?

Ma question est la suivante: Lorsqu'un fichier texte possède des "mots" de types "string" et des entiers et ce dans un ordre quelconque, comment pouvoir utiliser efficacement les entiers comme des types "int" dans le programme alors que lorsqu'on utilise un flot de lecture on accède à tous les éléments du fichier texte avec des variables de type string?

Je fais référence à l'exercice 2 de la série 11 sur le moodle.

Merci d'avance.

Arnault Stähli

In reply to Arnault Dominic Philippe Stähli

Re: Accès à des entiers depuis des fichier

by Jean-Cédric Chappelier -

oui c'est le bon endroit.

un fichier ne possède en soi aucune information de type : string, int, etc. ne sont que des notions internes à votre programme C++, le fichier, lui, ne contient que des caractères. Et c'est l'opérateur >> qui traduit ces caractères dans la valeur du bon type (genre : entree >> mot ; ou entree >> i ; )

Si donc vous ne savez RIEN sur la structure, vous ne savez pas si vous devez lire dans un entier ou dans une string. La seule solution est alors de tout lire comme des string, puis de faire la conversion vous-même en interne avec des fonctions (présentées dans « le cours du jeudi » sur les string) comme stoi() ou stod() et tester si elles lancent une exception (prochain cours) ou non.

Évidemment, tout ceci est grandement simplifié si le fichier a une structure et que vous la connaissez (ce qui est le cas de l'exercice 2 de la série 11/12) .