Traiter les données d'un fichier texte
Bonjour à tous,
J'essaie d'écrire un programme en c++ pour lire puis écrire dans un fichier texte mais je rencontre quelques difficultés pour le coder. Il y a plusieurs fonctions que j'ai du mal à maitriser. Est-ce que vous pourriez me dire ce que vous en pensez svp? J'avoue que pour l'instant je galère un peu..
Le fichier texte est de la forme suivante :
Code:
1 2 3 4 5 6 7 8 9 10
| 29/01/2021 21:05
29/01/2021 21:06
29/01/2021 21:07
29/01/2021 21:08
29/01/2021 21:09
29/01/2021 21:10
29/01/2021 21:11
29/01/2021 21:12
29/01/2021 21:13
29/01/2021 21:14 |
Voici la liste des instructions de mon programme:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| Si fichier .txt existe alors
ouvrir .txt
lire la dernière ligne
convertir les caractères de la dernière ligne en secondes
trouver l'indice de la série1 égale à secondes
Si indice est nul alors
écrire à la suite de .txt toute la série1
Sinon
écrire à la suite de .txt les données de série1 suivant indice
fin
Sinon
créer le fichier .txt
écrire série1 à la suite de .txt
fin |
Voici ma tentative de code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| using namespace std;
fstream myFile("C:/Users/personne/Documents/essai.txt", std::ios::ate);
if (myFile)
{
std::streampos size = myFile.tellg();
char c;
char temps[16];
for(int i=1;i<=16;i++)
{
myFile.seekg(-i,std::ios::end);
myFile.get(c);
temps[i]=c;
};
int secondes;
secondes = calcul_ctime(temps); // fonction de conversion de temps en secondes
int indice;
indice = getIndex(serie1, secondes); // fonction de recherche de l'indice de serie1 = secondes (renvoie 0 si aucun indice trouvé)
for (int i = indice; i < fin; i++)
{
struct temps_serie1
temps_serie1 = conv_sec_to_temps(serie1(i)); // fonction de conversion des secondes de serie1 en temps (jours + mois + année + heures + secondes)
myFile << temps_serie1.lesjours << "/" << temps_serie1.lesmois << "/" << temps_serie1.annee << " " << temps_serie1.lesheures << ":" << temps_serie1.lesminutes
};
};
myFile.close();
else
for (int i = 0; i < fin; i++)
{
struct temps_serie1
temps_serie1 = conv_sec_to_temps(serie1(i)); // fonction de conversion des secondes de serie1 en temps (jours + mois + année + heures + secondes)
myFile << temps_serie1.lesjours << "/" << temps_serie1.lesmois << "/" << temps_serie1.annee << " " << temps_serie1.lesheures << ":" << temps_serie1.lesminutes
};
myFile.close();
}; |
Merci d'avance
Mango1