bonjour,

j'ai un fichier qui a cette structure :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
toto;001;002; ; ; ;INT;SAP;SOT; ; ;
titi;003; ; ; ; ; ; ; ; ; ;
tutu;001; ; ; ; ; ; ; ; ;
1 champ NomUtilisateu; 5 Autorisation de site; 5 Autorisation de menu
la structure de mon fichier est fixe.

j'aimerai récupérer chacune de ses données dans une variable différentes(soit 11 variables) pour que je puisse faire des testes sur autorisation\interdiction.
voila ce que j'ai fait

Code : 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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
 
FILE    *fp;
  CHAR    szLine[L_PRM_LINE+1], szPath[_MAX_PATH+1];
  PSZ     pszOpeCod = NULL;
  BOOL    fAuth = FALSE;
  CHAR    *pointeur;
  CHAR    *separateur = {";"};
  CHAR    *buffer;
  CHAR    *position;
  CHAR    *test;
  CString maValeur;
  INT     j=0;
  INT     tableau[10];
  INT     conversion;
 
fgets(szLine, L_PRM_LINE, fp);
  while(!feof(fp))
  {
    buffer = _strdup(szLine);
 
    position = strchr(buffer,';');
    i = position - buffer;
    i = i+1;
    printf("la valeur du ; est de : %d\n", i);
 
    pointeur =strtok(buffer, separateur);
    printf("Bonjour vous etes connecte : %s\n", pointeur);
 
    /*
    StrTimLen enlève le caractère spécifié en deuxième argument de la chaîne spécifié en premier argument 
    sur une longueur spécifiée en troisième argument; si elle vaut 0 -> la longueur de toute la chaîne est 
    utilisée.Et donc, les trois lignes StrTrimLen suppriment simplement de la fin de ligne 
    (lue du fichier) les blancs et les caractères "retour chariot".
    */
    StrTrimLen(szLine, ' ', 0);
    StrTrimLen(szLine, ';', i);
    StrTrimLen(szLine, '\n', 0);
    StrTrimLen(szLine, '\r', 0);
    IFDM_LOGIN printf("Ligne lue après trim: <%s>\n", szLine);
 
    // on a trouve quelque chose après le 1er ";"
    while( pointeur != NULL)
    {
      //  cherche les autres séparateurs
      pointeur = strtok(NULL, separateur);
      if(pointeur !=NULL)
      {
        for(j=0; j<10; j++)
        {
          conversion = atoi(pointeur);
          tableau[j] = conversion;
        }
        printf("le tableau : %c\n",tableau[j]);
      }
    }
résultat : je me suis connecté avec toto
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
la valeur du ; est de 5
Bonjour vous etes connecte : toto
Ligne lue après s trim: <toto>
le tableau : H
le tableau : L
le tableau : N
le tableau : P
le tableau : R
le tableau : V
le tableau : X
le tableau : Z
le tableau : \
comme vous l'aurez compris je n'arrive pas à intégrer dans mon tableau mon CHAR pointeur. Je suis ouvert à toutes propositions et à toutes remarques de mon algo...
Je débute en c++