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 2997 Date d'inscription vendredi 15 mars 2013 Statut Non membre Dernière intervention 17 février 2023 - 20 mai 2015 à 10:00
Lapourax Messages postés 2997 Date d'inscription vendredi 15 mars 2013 Statut Non membre 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
- Écriture facebook - Guide
- Recherche musique - Guide
- Recherche par image - Guide
- Confirmation de lecture gmail - Guide
- Ecriture instagram - 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 !