Partage
  • Partager sur Facebook
  • Partager sur Twitter

Ecrire un vecteur de données dans un fichier txt.

28 septembre 2021 à 8:56:42

Bonjour,

Je souhaite échanger avec vous au sujet d'un problème de programmation auquel je fais face en ce moment. 

L'objectif est de lire et d'écrire un vector de données dans un fichier txt. 

Pour écrire un vector<double> dans un fichier txt, j'ai implémenté la routine suivante : 

void writeTXT(char* name, vector<double> sig){
FILE* fid;
fid = fopen(name,"w");
fprintf(fid, "%d\n",sig.size());
for(int i=0;i<sig.size();i++) {
fprintf(fid, "%.15lf\n",sig[i]);
}
fclose(fid);
}

Ce bout de code permet d'écrire la dimension du vector en première ligne puis écrire la valeur de chauqe case du même vecteur dans une ligne séparément.

Pour lire le même type de vector à partir d'un fichier txt, j'ai implémenté la routine suivante : 

vector<double> readTXT(char* name){
vector<double> res;
FILE* fid;
fid = fopen (name,"r");
int nbTerm;
fscanf(fid,"%d",&nbTerm);
for(int i=0;i<nbTerm;i++) {
double val;
fscanf(fid,"%lf",&val);
res.push_back(val);
}
fclose(fid);
return res;
}

Maintenant, je souhaite généraliser cette démarche pour des vector<Vecteur> et des vector<MatriceL> tel que Vecteur et MatriceL sont définis respectivement dans des class : 

Vecteur(int Dim, vector<double> V)
{
dim = Dim;
for(int i=0; i<V.size();i++)
{
v.push_back(V[i]);
}
et 
}
MatriceL(int Dim) {
dimX = Dim;
dimY = Dim;
for (int i=0; i<dimX; i++) {
vector<double> tmpC;
val.push_back(tmpC);
vector<int> tmpI;
indexL.push_back(tmpI);
}
is_ILU = false;
}

La question est : Comment modifier writeTXT er readTXT de telle manière à pouvoir écrire dans un fichier txt des données de type vector<Vecteur> et vector<MatriceL> ? 

Je vous serai reconnaisant pour toute remarque ou critique constructive. 

2HA.

-
Edité par HamzaHafidiAlaoui2 28 septembre 2021 à 8:58:18

  • Partager sur Facebook
  • Partager sur Twitter
28 septembre 2021 à 9:42:51

Bonjour,

Déplacement vers un forum plus approprié

Le sujet est déplacé de la section Langage C vers la section Langage C++

  • Partager sur Facebook
  • Partager sur Twitter
Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
28 septembre 2021 à 10:18:59

Maintenant on a un doublon avec https://openclassrooms.com/forum/sujet/ecrire-un-vecteur-de-donnees-dans-un-fichier-txt car c'est un code qui mélange allègrement du vieux code C avec du C++, vive la "compatibilité" C cu C++.

Je pense que le PO a sciemment posté dans les 2 forum, C et C++.

Mais il devrait faire un choix.

  • Partager sur Facebook
  • Partager sur Twitter
Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
28 septembre 2021 à 10:23:07

Bonjour,

Doublon

Les doublons nuisent au bon fonctionnement du forum et sont donc interdits. Si vous vous êtes trompé de section, il suffit de signaler votre sujet au staff pour qu'il le déplace au bon endroit.

Je vous invite à continuer la discussion sur l'autre sujet : https://openclassrooms.com/forum/sujet/ecrire-un-vecteur-de-donnees-dans-un-fichier-txt

Je ferme ce sujet. En cas de désaccord, me contacter par MP.

  • Partager sur Facebook
  • Partager sur Twitter
Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL