[C] Stocker les paths lus dans env Unix

Bonjour,

voila tout est dans le sujet, je souhaite, a travers la commande env, lire et recuperer une ligne ou sont sotckes tous les paths a la suite du genre :
PATH=/bin/:/usr/bin:/sbin/: Etc etc

Merci de votre precieuse aide.
Configuration: Windows XP
Firefox 3.5.7

8 réponses

  1. hello
    $ cat x4.c
    #include <stdio.h>
    #include <stdlib.h>
    
    main()
    {
    	char * path;
    	path=getenv("PATH");
    	printf("%s\n", path);
    }
    $ 
    $ make x4
    cc     x4.c   -o x4
    $ ./x4
    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
    $ 
    
    1
    1. Modérateur
      Salut,

      T'es plus rapide ;-))
      0
  2. Modérateur
    Salut,

     env | grep '\bPATH'

    ;-))
    0
    1. Salut, nerci de ta rapidite, mais j ai oublie de preciser ma reponse en fait :)

      En langage C, pour un projet a rendre (mini shell), je dois lire dans env la variable d'environnement PATH pour pouvoir par la suite tester mes commandes ecrites dans le buff.

      Voila, je pense avoir ete plus explicite
      0
      1. Modérateur
        Salut,

        #include <stdio.h>
        #include <stdlib.h>
        
        int main ()
        {
          char * Path;
          Path = getenv("PATH");
          if (Path!=NULL)
            printf ("The current path is: %s",Path);
          return EXIT_SUCCESS;
        }
        0
        1. Help ^^
          0
          1. Modérateur
            Les réponses ne te conviennent pas ???
            0
        2. Merci les amis, dsl jai beugge dans le message =D
          0
          1. sans getenv
            $ cat x4.c
            #include <unistd.h>
            #include <string.h>
            #include <stdio.h>
            
            extern char ** environ;
            
            main()
            {
            	int i=0;
            	while(environ[i])
            	{
            		if(!strncmp(environ[i],"PATH",4))
            			printf("%s\n", environ[i]);
            		i++;
            	}
            }
            $ make x4
            cc     x4.c   -o x4
            $ ./x4
            PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
            $ 
            
            0