Bonjour je débute en C, et j'essaye de faire un exercice décomposant une chaîne de caractère d'une certaine façon :

°Pour commencer on a :

aa:bb:ccc:d

°et on veut afficher :

aa
bb
ccc
d


°avec une boucle for.

Voici mon code :


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
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char** argv){

char** fragments;
int nb_fragments=1;
int i=0;

while(argv[1][i]!='\0'){                                               /* on circule sur la chaîne de caractère pour compter le nombre de fragments */

    if(argv[1][i]==':'){
    nb_fragments=nb_fragments+1;
    }
}

fragments=malloc(nb_fragments* sizeof(char*));            /* chaque fragment aura une case de taille sizeof */
fragments[num_fragments]=argv[1];

num_fragments+1;
i=0;

while(argv[1][i]!='\0'){

    if(argv[1][i]==':'){
    fragments[num_fragments]=argv[1]+i+1;
    num_fragments+1;
    }
}
i+1;

for(i=0,i<nb_fragments,i+1){

printf("s%\n",*fragments(num_fragments)[i]);
}

}
Après compilation j'ai 4 erreurs lignes 18 et 34, au niveau du num_fragments qui n'est pas déclaré mais je ne sais pas sous quel forme je doit le faire, dans mon dernier printf on me dit que fragments n'est pas une fonction.

Quelqu'un pourrait-il m'aider à comprendre tout cela et m'indiquer comment corriger mes erreurs ?

Merci d'avance