[C++] Chargement de fichier en mémoire
Résolu
terminatorn
Messages postés
190
Statut
Membre
-
terminatorn Messages postés 190 Statut Membre -
terminatorn Messages postés 190 Statut Membre -
Bonjour, j'aimerai charger un fichier en mémoire comme ceci:
Un vecteur de chaines de caractères, chaque élément du vecteur correspond à une ligne du fichier.
Voila comment j'ai fait mais ça marche pas:
Ça m'affiche la dernière ligne du fichier autant de fois qu'il y a de ligne dans le fichier.
Pouvez vous m'aider svp? Merci d'avance
Un vecteur de chaines de caractères, chaque élément du vecteur correspond à une ligne du fichier.
Voila comment j'ai fait mais ça marche pas:
#include <iostream>
#include <stdio.h>
#include <vector>
using namespace std;
int main()
{
unsigned int i=0,j=0;
const char *filename = "C:\\test.txt";
FILE* fichier = NULL;
vector<char *> ligne;
char tmp[1000];
fichier = fopen(filename, "r");
if (fichier != NULL){
while (fgets(tmp, 1000, fichier) != NULL){
ligne.push_back(tmp);
i++;
}
fclose(fichier);
for (i=0;i<ligne.size();i++)
printf("[%d] %s\n",i, ligne[i]);
} else {
printf("Erreur : impossible d'ouvrir le fichier\n");
}
return 0;
}
Ça m'affiche la dernière ligne du fichier autant de fois qu'il y a de ligne dans le fichier.
Pouvez vous m'aider svp? Merci d'avance
A voir également:
- [C++] Chargement de fichier en mémoire
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier .dat - Guide
2 réponses
Merci j'ai fais comme ça.
Ca marche bien =D
Encore merci
Ca marche bien =D
int main(){
vector<string> l;
unsigned int i=0,j=0;
const char *filename = "C:\\Users\\Nurza\\Igloo\\bin\\Debug\\test.igloo";
FILE* fichier = NULL;
char tmp[1000];
fichier = fopen(filename, "r");
if (fichier != NULL){
while (fgets(tmp, 1000, fichier) != NULL){
l.push_back(string(tmp));
}
fclose(fichier);
} else {
printf("Erreur : impossible d'ouvrir le fichier\n");
}
}
Encore merci