[C++] Traitement des infos d'un buffer
Résolu
Tsu
-
Tsu -
Tsu -
Bonjour,
Voilà, j'ai un soucis avec un buffer...
Je copie un fichier texte dedans pour pouvoir ensuite traiter les données...
La syntaxe doit ressembler à ça dans le fichier texte :
2 caracteres (qui sont à la base des entiers) - un espace - une chaine de caracteres - un espace...
... en sachant qu'après les deux premiers caractères, il peut y avoir autant d'espace suivis de chaines de caracteres qu'on veut...
Pour l'instant, j'ai une ptite fonction comme ça :
void readRule()
{
// variable qui contiendra l'intégralité du fichier
stringstream buffer;
// ouvrir le fichier "Rule.txt"
ifstream myfile ("C:\\Rule.txt");
// s'il n'y a pas d'erreur à l'ouverture, le copier dans un buffer
if (myfile.is_open())
{
// copier l'intégralité du fichier dans le buffer
buffer << myfile.rdbuf();
// fermer le fichier
myfile.close();
}
}
Mais après je sèche completement pour extraire les différentes informations...
Un coup de pouce serait vraiment le bienvenu... :)
Voilà, j'ai un soucis avec un buffer...
Je copie un fichier texte dedans pour pouvoir ensuite traiter les données...
La syntaxe doit ressembler à ça dans le fichier texte :
2 caracteres (qui sont à la base des entiers) - un espace - une chaine de caracteres - un espace...
... en sachant qu'après les deux premiers caractères, il peut y avoir autant d'espace suivis de chaines de caracteres qu'on veut...
Pour l'instant, j'ai une ptite fonction comme ça :
void readRule()
{
// variable qui contiendra l'intégralité du fichier
stringstream buffer;
// ouvrir le fichier "Rule.txt"
ifstream myfile ("C:\\Rule.txt");
// s'il n'y a pas d'erreur à l'ouverture, le copier dans un buffer
if (myfile.is_open())
{
// copier l'intégralité du fichier dans le buffer
buffer << myfile.rdbuf();
// fermer le fichier
myfile.close();
}
}
Mais après je sèche completement pour extraire les différentes informations...
Un coup de pouce serait vraiment le bienvenu... :)
A voir également:
- [C++] Traitement des infos d'un buffer
- Reconsidérer le traitement de vos informations à des fins publicitaires - Accueil - Réseaux sociaux
- Traitement de texte gratuit - Guide
- Ce traitement de texte gratuit et léger est parfait pour remplacer Word, même sur un vieux PC - Guide
- Dictionnaire des maladies et traitement - Télécharger - Bureautique
- Traitement de texte gratuit open office - Télécharger - Suite bureautique
1 réponse
https://en.cppreference.com/w/cpp/io/basic_stringstream
donc :
char c1=buffer.str()[0],c2=buffer.str()[1];
Ensuite, il faut extraire les différentes chaine de caractère :
for (i=3;i<buffer.str().size();++i)while(buffer.str()[i]!=' ')
chaine+=buffer.str()[i] etc.
Ou alors :
buffer>>c1>>c2>>chaine1>>chaine2...; //nombre de chaine à récuperer
il fait automatiquement la conversion d'après le type mis.
donc :
char c1=buffer.str()[0],c2=buffer.str()[1];
Ensuite, il faut extraire les différentes chaine de caractère :
for (i=3;i<buffer.str().size();++i)while(buffer.str()[i]!=' ')
chaine+=buffer.str()[i] etc.
Ou alors :
buffer>>c1>>c2>>chaine1>>chaine2...; //nombre de chaine à récuperer
il fait automatiquement la conversion d'après le type mis.
Ta réponse m'aide réellement... et rapidement en plus !
Merci beaucoup :D