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:

Code c++ : Sélectionner tout - Visualiser dans une fenêtre à part
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
#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