Lire une chaine de caractère caractère par caractère avec c++builder 6

Signaler
Messages postés
27
Date d'inscription
lundi 14 septembre 2009
Statut
Membre
Dernière intervention
7 juin 2010
-
Messages postés
14
Date d'inscription
vendredi 14 mai 2010
Statut
Membre
Dernière intervention
9 mars 2011
-
bon j'expose mon problème je dois lire des coordonnées de fabrication en norme iso qui sont stocké dans un fichier.
je voudrai pourvoir les lire caractère par caractère et les mettre dans une seule et même variable. a chaque fois que
essayé il me les a additionné

6 réponses

Messages postés
27
Date d'inscription
lundi 14 septembre 2009
Statut
Membre
Dernière intervention
7 juin 2010

youhou pouvez vous m'aidé please.
Messages postés
27
Date d'inscription
lundi 14 septembre 2009
Statut
Membre
Dernière intervention
7 juin 2010

bon je vois je vois ...
la fonction strcat peut mettre utile ????
Messages postés
14
Date d'inscription
vendredi 14 mai 2010
Statut
Membre
Dernière intervention
9 mars 2011

strcat, c'est du C ^^ Là on est en C++.
Tu peux utiliser les AnsiString de builder, ou la std::string de la STL de C++. Ces deux classes sont des chaines de caractères. Elles offrent l'opérateur += qui concatène les données.
Pour les fichiers, il y a énormément de post aussi. Le plus "C++" serait d'utiliser les ifstream de la STL, avec ses méthodes get, getline, read...
Messages postés
27
Date d'inscription
lundi 14 septembre 2009
Statut
Membre
Dernière intervention
7 juin 2010

oki

je vais essayer
Messages postés
27
Date d'inscription
lundi 14 septembre 2009
Statut
Membre
Dernière intervention
7 juin 2010

sa marche mais maintenant il veut pas lire les données lu dans le fichier

il me dit mauvais type attendu

pourtant Ansistring peut être utilisé pour récupérer les valeurs lues du fichier

j'utilise
AnsiString ma_variable
ifstream nom_du_fichier("mon_fichier.iso", ios::in);
if(fichier)
{
nom_du_fichier >> ma_variable
if(ma_variable!=' ')
{
Edit1->Text=contenu1;
}
}
fichier.close();


es ce que çà marcherai avec += ou il me faudrait un autre style de variable ???
Messages postés
14
Date d'inscription
vendredi 14 mai 2010
Statut
Membre
Dernière intervention
9 mars 2011

C'est normal, je crois que la classe AnsiString ne redéfinit pas l'opérateur >>. Et en plus, on peut pas faire comme ça, il faut lire le fichier avec getline. Moi je ferai :
std::string ma_variable;
ifstream fichier("mon_fichier.iso", ios::in);
if( !fichier )
  return;

fichier.getline(ma_variable, 100);
if( !ma_variable.empty() ) {
  Edit1->Text = AnsiString(mavariable.c_str()); //Conversion string en AnsiString en passant par char*
}
fichier.close();