Help code lecture/écriture et recherche de suites de caractères
Résolu/Fermé
Benoît
-
Modifié par Benoît le 19/05/2015 à 09:51
Lapourax Messages postés 3006 Date d'inscription vendredi 15 mars 2013 Statut Contributeur Dernière intervention 17 février 2023 - 20 mai 2015 à 10:00
Lapourax Messages postés 3006 Date d'inscription vendredi 15 mars 2013 Statut Contributeur Dernière intervention 17 février 2023 - 20 mai 2015 à 10:00
A voir également:
- Help code lecture/écriture et recherche de suites de caractères
- Confirmation de lecture whatsapp - Guide
- Caractères ascii - Guide
- Écriture facebook - Guide
- Accusé de lecture gmail - Guide
- Caractères spéciaux symboles clavier - Guide
1 réponse
J'ai finalement réussi à résoudre mon problème :
Il y avait plusieurs soucis, mais le plus gros venait de mon "while()" à la fin.
Voilà mon code final :
Si quelqu'un a des questions j'y répondrai sans problème, car je n'ai pas détaillé tout l'étendu de mon fichier à analyser et le problème exact.
Merci quand même.
Il y avait plusieurs soucis, mais le plus gros venait de mon "while()" à la fin.
Voilà mon code final :
#include <fstream> //inclusion de la bibli pour lire un fichier #include <iostream> #include <string> #include <stdio.h> #include <string.h> using namespace std; int main() { ifstream fichier("ProjetBH-TopologieDefaillanteRmodif.txt", ios::in); int nombreDef = 0; string debutTempsDef[1000]; string finTempsDef[1000]; int i = 0; int testPair = 1; bool def = 0; if(fichier) { fstream resul("dispo.txt", ios::out | ios::trunc); fstream fichierDef("def.txt", ios::out | ios::trunc); string ligne; while(getline(fichier, ligne)) { string entete1; string entete2; string temps; string dispo; fichier >> temps >> dispo; if (testPair%2 == 0) { if(resul) { resul << temps << " " << dispo << "\n"; if (dispo.compare("0") == 0) { if(def == 0) { nombreDef = nombreDef + 1; i = i + 1; debutTempsDef[i] = temps; if(fichierDef) { fichierDef << "Début de la défaillance : " << debutTempsDef[i] << " Numéro de défaillance : " << nombreDef << "\n"; } def = 1; } } if (dispo.compare("1") == 0) { if(def == 1) { finTempsDef[nombreDef] = temps; fichierDef << "Fin de la défaillance numéro: " << nombreDef << " au temps : " << finTempsDef[nombreDef] << "\n"; } def = 0; } } } testPair = testPair + 1; } } }
Si quelqu'un a des questions j'y répondrai sans problème, car je n'ai pas détaillé tout l'étendu de mon fichier à analyser et le problème exact.
Merci quand même.
20 mai 2015 à 09:42
Tu peu poster la solution des fois que ça intéresse quelqu'un :)
20 mai 2015 à 09:57
20 mai 2015 à 10:00
En effet la logique qui ressort du deuxième code est bien meilleure :]
J'allais te proposer de faire un seul while avant que je ne vois que tu avais déjà trouvé la solution :)
Beau boulot !