Equivalent de environment (vb) en c

Résolu/Fermé
glennog Messages postés 293 Date d'inscription jeudi 3 janvier 2013 Statut Membre Dernière intervention 19 novembre 2013 - Modifié par Chris 94 le 18/03/2013 à 01:47
glennog Messages postés 293 Date d'inscription jeudi 3 janvier 2013 Statut Membre Dernière intervention 19 novembre 2013 - 19 mars 2013 à 19:13
Bonjour,



j'aimerais savoir quel est l'équivalent de la fonction n vb ( environment ) en c , qui retourne diverses valeurs ( special folder , username , directory ) et autres , merci
A voir également:

3 réponses

KX Messages postés 16755 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 12 février 2025 3 020
Modifié par KX le 18/03/2013 à 07:18
Je ne connais pas VB, donc je ne sais pas ce qu'est exactement cet environnement dont tu parles, mais il ne me semble pas qu'il y ait ce genre de choses en C.

Tout au plus tu peux récupérer les variables d'environnement système en passant un troisième argument dans ton main :

#include "stdio.h"

int main(int argc, char* argv[], char* arge[])
{
	int i;
	
	for (i=0; i<argc; i++)
		printf("argv[%d]=%s\n",i,argv[i]);
	
	for (i=0; arge[i]!=NULL; i++)
		printf("arge[%d]=%s\n",i,arge[i]);
	
	return 0;
}
La confiance n'exclut pas le contrôle
0
glennog Messages postés 293 Date d'inscription jeudi 3 janvier 2013 Statut Membre Dernière intervention 19 novembre 2013 4
18 mars 2013 à 21:48
merci de ton post, c'est exactement ce que je cherchais , mais dis moi ,
au cas ou je veus recuperer seulement un element , par exemple arge[9] par exemple ,

si je ne sais pas au depart à quoi le tableau no9 correspond , il n' y a t'il pas un moyen de connaitre cet element , genre une biblio disponible sur le net par exemple ?
encore merci pour ton post
0
KX Messages postés 16755 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 12 février 2025 3 020
Modifié par KX le 19/03/2013 à 18:55
On ne cherches jamais à savoir ce qu'il y a dans la case 9, parce que le contenue du tableau dépendant de la configuration de chaque machine, il sera toujours différent de l'une à l'autre.
Mais chaque variable d'environnement est un couple "clé=valeur", donc il te suffit de parcourir le tableau pour chercher la valeur correspondant à la clé que tu cherches.

Exemple :

#include "stdio.h"
#include "string.h"

int main(int argc, char* argv[], char* arge[])
{
	int i;
	char* key = "OS=";
	
	for (i=0; arge[i]!=NULL; i++)
		if (strncmp(arge[i],key,strlen(key))==0)
			printf("%s",arge[i]);
	
	return 0;
}
0
glennog Messages postés 293 Date d'inscription jeudi 3 janvier 2013 Statut Membre Dernière intervention 19 novembre 2013 4
19 mars 2013 à 19:13
ok , merci de ton astuce
0