acces à une variable d'environnement windows sous C++

acces à une variable d'environnement windows sous C++ - Programmation

Marsh Posté le 07-06-2001 à 10:11:05    

j'trouve pas dans la doc; Je voudrai juste savoir comment on accède à la variable d'environnement du systeme (c:\Windows, c:\WinNT, ...) sous C++ !??

Reply

Marsh Posté le 07-06-2001 à 10:11:05   

Reply

Marsh Posté le 07-06-2001 à 10:19:55    

getenv çà marche pas ???

Reply

Marsh Posté le 07-06-2001 à 10:26:18    

bof, j'vais persévérer, mais c qu'en dis MSDN c particulièrement compliqué !

Reply

Marsh Posté le 07-06-2001 à 10:29:30    

Par contre g trouvé comment accèder à une variable d'environnement (GetEnvironnementVariable) mais je n'connais pas la variable d'environnement du répertoire du systeme d'exploitation (style: c:\windows, c:\winnt, ...)

Reply

Marsh Posté le 07-06-2001 à 10:30:17    

El_gringo tu as du bol, le man de getenv est pas trop long...
 

Citation :

getenv(3C)                                                       getenv(3C)
 
 NAME
      getenv() - return value for environment name
 
 SYNOPSIS
      #include <stdlib.h>
 
      char *getenv(const char *name);
 
 DESCRIPTION
      getenv() searches the environment list (see environ(5)) for a string
      of the form name=value, and returns a pointer to the value in the
      current environment if such a string is present, otherwise a NULL
      pointer.  name can be either the desired name, null-terminated, or of
      the form name=value, in which case getenv() uses the portion to the
      left of the = as the search key.
 
 APPLICATION USAGE
      getenv() is thread-safe. It is not async-cancel-safe.
 
 WARNINGS
      getenv() returns a pointer to static data which can be overwritten by
      subsequent calls.
 
 EXTERNAL INFLUENCES
    Locale
      The LC_CTYPE category determines the interpretation of characters in
      name as single- and/or multi-byte characters.
 
    International Code Set Support
      Single- and multi-byte character code sets are supported.
 
 SEE ALSO
      exec(2), putenv(3C), environ(5).
 
 STANDARDS CONFORMANCE
      getenv(): AES, SVID2, SVID3, XPG2, XPG3, XPG4, FIPS 151-2, POSIX.1,
      POSIX.2, ANSI C
 
 Hewlett-Packard Company            - 1 -  HP-UX Release 11.00: October 1997
 
Standard input: END

Reply

Marsh Posté le 07-06-2001 à 10:37:50    

Oui mais MOOSSSIEUR est sous Windows... :hap:

Reply

Marsh Posté le 07-06-2001 à 10:41:25    

c cool, mais ça me dit pas...d'ailleur la question est surtout pour ceux qui connaissent Windows; ça me dit pas le nom de la variable d'environnement (style PATH, TMP, TEMP,...) qui contient le chemin du répertoire systeme ou du répertoire du système d'exploitation (je me contenterai de l'un ou de l'autre)

Reply

Marsh Posté le 07-06-2001 à 10:41:38    

tgrx > oui ben ma station elle donne pas le mode d'empoloi de Windows :D
 
getenv c'est standard  
 

Citation :

STANDARDS CONFORMANCE  
      getenv(): AES, SVID2, SVID3, XPG2, XPG3, XPG4, FIPS 151-2, POSIX.1,  
      POSIX.2, ANSI C


 
Donc logiquement, il devrait fonctionner de la meme facon sous windows ;)

Reply

Marsh Posté le 07-06-2001 à 10:43:01    

tgrx a écrit a écrit :

Oui mais MOOSSSIEUR est sous Windows... :hap:




 
Parfaitement MOOOSIEUR, et fière d'y être !!! :na:

Reply

Marsh Posté le 07-06-2001 à 10:45:58    

el_gringo> :lol:
 
Bah moi de toute facon je vais pas y echapper non plus, ils veulent que mon programme fonctionne sous linux et windows :sarcastic:

Reply

Marsh Posté le 07-06-2001 à 10:45:58   

Reply

Marsh Posté le 07-06-2001 à 10:46:28    

BENB a écrit a écrit :

tgrx > oui ben ma station elle donne pas le mode d'empoloi de Windows :D
 
getenv c'est standard  
 

Citation :

STANDARDS CONFORMANCE  
      getenv(): AES, SVID2, SVID3, XPG2, XPG3, XPG4, FIPS 151-2, POSIX.1,  
      POSIX.2, ANSI C


 
Donc logiquement, il devrait fonctionner de la meme facon sous windows ;)




 
Mais ça serai tellement plus simple si qqn répondait à ça :

Citation :


d'ailleur la question est surtout pour ceux qui connaissent Windows; ça me dit pas le nom de la variable d'environnement (style PATH, TMP, TEMP,...) qui contient le chemin du répertoire systeme ou du répertoire du système d'exploitation (je me contenterai de l'un ou de l'autre)
 

Reply

Marsh Posté le 07-06-2001 à 10:46:40    

El_gringo a écrit a écrit :

c cool, mais ça me dit pas...d'ailleur la question est surtout pour ceux qui connaissent Windows; ça me dit pas le nom de la variable d'environnement (style PATH, TMP, TEMP,...) qui contient le chemin du répertoire systeme ou du répertoire du système d'exploitation (je me contenterai de l'un ou de l'autre)




Je dirait windir ou WINDIR pour celui de windows
et winsysdir ou WINSYSDIR pour Winsows/system
 
Mais je pense que tu as un pc sous la main ?
ouvre un session ligne de commande (j'allais dire un xterm :D) fait set et cherche, ils doivent s'y trouver

Reply

Marsh Posté le 07-06-2001 à 10:49:07    

fait un set ds une fenetre dos...

Reply

Marsh Posté le 07-06-2001 à 10:50:16    

et la methode de BENB ca marche nickel

Reply

Marsh Posté le 07-06-2001 à 10:50:30    

BENB a écrit a écrit :

 
Je dirait windir ou WINDIR pour celui de windows
et winsysdir ou WINSYSDIR pour Winsows/system
 
Mais je pense que tu as un pc sous la main ?
ouvre un session ligne de commande (j'allais dire un xterm :D) fait set et cherche, ils doivent s'y trouver




 
merci, j'vais voir ça...
 
Mais à propos de cet éternel conflit: Windows liker (like me)<->Windows Fucker (like you i think !)
 
Après avoir par exemple gouté à une aide au format HTML avec des liens hyper texte, des couleurs et tous ça, Je comprend pas comment on peut encore faire des man sous UNIX !???

Reply

Marsh Posté le 07-06-2001 à 10:52:04    

wpk a écrit a écrit :

fait un set ds une fenetre dos...




 
Mais je connaissait pas "set" ...c vrai que c simple comme ça ! :D  :D

Reply

Marsh Posté le 07-06-2001 à 10:53:07    

tgrx a écrit a écrit :

el_gringo> :lol:
 
Bah moi de toute facon je vais pas y echapper non plus, ils veulent que mon programme fonctionne sous linux et windows :sarcastic:




 
tgrx tu as utilise quoi comme lib graphique ?
Tu as de l'impression a faire ?
Tu connais wxWindows ?
C'est un Framework qui ressemble pas mal aux MFC (je ne connais pas les MFC mais il parait que c'est vrai) qui est libre (LGPL) et qui est multiplateforme Windows,Unix(GTK/Motif), Mac est un peu a la traine...
C'est tres bien, sauf pour les impressions ou il reste des differences entre Unix et Windows...

Reply

Marsh Posté le 07-06-2001 à 10:53:10    

Ben je dirais que le seul avantage d'Unix par rapport a Windows c'est que ca plante pas, la memoire est bien geree, tout ca...
 
Mais pour tout le reste (convivialite, cote pratique), je prefere nettement windows, c'est clair...

Reply

Marsh Posté le 07-06-2001 à 10:56:29    

El_gringo a écrit a écrit :

 
 
merci, j'vais voir ça...
 
Mais à propos de cet éternel conflit: Windows liker (like me)<->Windows Fucker (like you i think !)
 
Après avoir par exemple gouté à une aide au format HTML avec des liens hyper texte, des couleurs et tous ça, Je comprend pas comment on peut encore faire des man sous UNIX !???




 
C'est vrai que man est un peu austere... mais il facile a copier dans un forum, pour quelqu'un qui est perdu dans sont aide HTML :D
 
Le man est genial, c'est une formidable mine d'informations
pour ceux qui veulent de l'hypertexte il y a xman...

Reply

Marsh Posté le 07-06-2001 à 10:56:53    

BENB > ben vu que mon programme c'est massivement de l'OpenGL, j'ai utilise Glow (c'est une surcouche de Glut ecrite entierement en C++, et donc on instancie les fenetres, les boutons, les menus, c'est super bien). Et compatible Windows/Unix.
http://www.ugcs.caltech.edu/~dazuma/glow/
 
Et vu que j'ai rien a imprimer (seulement des Snapshots a prendre), ca me conviendra parfaitement. Mais merci de l'info, je connaissais pas wxWindows... ca sera pour le prochain projet... :hello:

Reply

Marsh Posté le 07-06-2001 à 11:21:42    

Je connais juste un peu... (perso au boulot je ne fait jamais de MMI)
Je sais que on peut faire de l'OpenGL avec.
 
->  www.wxwindows.org
 
Allez voir...

Reply

Marsh Posté le 07-06-2001 à 11:23:18    

si vous n'aimez pas man, il y a info

Reply

Marsh Posté le 07-06-2001 à 11:33:10    

Si ce n'est QUE retrouver le chemin dans lequel se trouve Windows (Win3, Win95 chez moi, et non WINDOWS), il y a deux fonctions
 
"The GetWindowsDirectory function retrieves the path of the Windows directory. The Windows directory contains such files as Windows-based applications, initialization files, and Help files."
 
et  
"The GetSystemDirectory function retrieves the path of the Windows system directory. The system directory contains such files as Windows libraries, drivers, and font files."
 
Cela existe aussi pour le répertoire TEMP, pour y mettre des fichiers effacés après usage fugitif.
 
"The GetTempPath function retrieves the path of the directory designated for temporary files. "
 
C'est normalement bon en Win 16 et Win32 bits. Sous Linux, faut chercher l'équivalent.

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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