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
Lapourax
- Messages postés
- 2996
- Date d'inscription
- vendredi 15 mars 2013
- Statut
- Contributeur
- Dernière intervention
- 12 avril 2022
A voir également:
- Help code lecture/écriture et recherche de suites de caractères
- Help code lecture/écriture et recherche de suites de caractères ✓ - Forum - C++
- Code html barre de recherche interne ✓ - Forum - Webmaster
- Mini moteur de recherche site privé ✓ - Forum - HTML
- Code tv lg pour recherche de chaine ✓ - Forum - TNT
- Mettre une barre de recherche sur son site ✓ - Forum - Créer un site
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 !