Char ** en C

Tisiph0n3 -  
 Tisiph0n3 -
Bonjour,
alors considérons un tableau de pointeurs sur des chaines de caractères un truc du style, char **argv.
*argv[1] pointe sur la 2e chaine, ma question comment faire toujours en utilisant argv pour me deplacer dans la chaine sur laquelle pointe *argv[1] sans stocker argv[1] dans un char * le nb d'arguments passés a mon programme étant inconnus d'avance.
Merci
Configuration: Linux
Firefox 2.0.0.8

2 réponses

  1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    Salut

    J'ai pas tout compris ce que tu veux faire.
    Mais dans ton programme, tu as :

    int main(int argc, char **argv)

    argc, te donne le nombre d'arguments augmenté de 1 (en C, le nom du programme est compté comme dans argc et stocké dans argv[0]).
    Ensuite pour récupérer les arguments :
    int i;
    for(i=1;i<argc;i++)
        printf("%s ",argv[i]);
    


    Pour te déplacer, tu peux par exemple, prendre le premier caractère argv[0][0]. Et tu as la fonction strlen pour connaitre la longueur de la chaine.

    J'espère avoir répondu à ta question.
    1
  2. Tisiph0n3
     
    oui merci t'as pas tout capté a ma question mais t'y a répondu quand mm. :D
    0