Jump to content

[ajuda] Criar e trabalhar com variaveis de ambiente


Death_Knight
 Share

Recommended Posts

Boas, estou com um problema para criar e trabalhar com variáveis de ambiente utilizando linguagem C em linux, depois de não conseguir funcionar com elas em modo mais complicado tentei algo relativamente simples que deveria funcionar:

#include <stdio.h>
#include <errno.h>
#include <stdlib.h>

int main(int argc, char *argv)
{
//vai criar a variavel de ambiente
char *VARIABLE;
putenv(VARIABLE="TESTE");
system("echo $VARIABLE");
return 0;
}

este codigo supostamente devia criar a variável de ambiente VARIABLE e depois mostrar o seu conteudo na linha de comandos, o que estou a fazer de mal?

agradeço qualquer ajuda que me possam dar

Cumprimentos

Link to comment
Share on other sites

O que deves fazer é isto:

char *v;
v = strdup("VARIABLE=TESTE");
putenv(v);
system("echo $VARIABLE");
free(v);
return 0;

Porque como tens agora, estás a passar mal o argumento da função putenv, o qual deve ser uma string da forma "nome=valor" e não nome="valor".

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.