int main()

int main() - C++ - Programmation

Marsh Posté le 09-05-2022 à 11:25:12    

Bonjour,
 
Petit problème tout simple :
 

Code :
  1. int main(int argc, char** argv, char** env)
  2. {
  3.   // On fait comment pour récupérer le contenu de **env ??? on a pas de int envc
  4.   return 0;
  5. }


 
il y a bien la fonction std::getenv() qui me permet de récupérer ce que je veux dans les variables d'environnement, mais je me suis toujours demandé comment on parsait le char**env :)


Message édité par spark le 09-05-2022 à 11:43:41

---------------
Un cycle complet sera une série de 100.
Reply

Marsh Posté le 09-05-2022 à 11:25:12   

Reply

Marsh Posté le 09-05-2022 à 13:17:28    

Bonjour !  
 
De mémoire (flemme de vérifier), on itère sur le tableau 2 par 2 jusqu'à tomber sur NULL, et dans le tableau, c'est nom de la variable puis valeur
 
Bonne continuation.


---------------
On n'est jamais très fort pour ce calcul !
Reply

Marsh Posté le 09-05-2022 à 14:09:21    

bonjour,
 
sur https://cpp.sh
 

Code :
  1. // Example program
  2. #include <stdio.h>
  3. int main(int argc, char ** argv,  char **env)
  4. {
  5.     int i = 0;
  6. while(env && env[i]) {
  7.      printf("env %d : %s\n" , i,  env[i]);
  8.      i++;
  9.    
  10.      if ( i == 100) break;
  11. }
  12.    
  13.   return 0;
  14. }


 
 
retour :  


env 0 : CONSOLE=/dev/console
env 1 : TERM=linux
env 2 : SHELL=/bin/sh
env 3 : INIT_VERSION=sysvinit-2.88
env 4 : COLUMNS=80
env 5 : PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin
env 6 : RUNLEVEL=2
env 7 : runlevel=2
env 8 : PWD=/
env 9 : NODE_PATH=:/usr/local/lib/node_modules
env 10 : PREVLEVEL=N
env 11 : previous=N
env 12 : LINES=25
env 13 : HOME=/
env 14 : SHLVL=1
env 15 : BOOT_IMAGE=/boot/bzImage-3.14.32-xxxx-grs-ipv6-64
env 16 : SBFD=4

Reply

Marsh Posté le 09-05-2022 à 16:03:55    

Comme quoi, j'aurais dû vérifier :mouais:
Mais j'avais bon pour le NULL terminal :)


Message édité par Farian le 09-05-2022 à 16:05:27

---------------
On n'est jamais très fort pour ce calcul !
Reply

Marsh Posté le 10-05-2022 à 00:21:19    

merci bien ! :jap:


---------------
Un cycle complet sera une série de 100.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed