Funçao System

1. Funçao System

Leonardo Ventura
leoventura

(usa Debian)

Enviado em 21/12/2006 - 18:43h

Pessoal, estou usando a função system para utilizar um comando do sistema, mas preciso utilizar uma variavel junto com esse comando...mas me parece que a função system não aceita o uso de variaveis.
Eu tentei " system("comando %i",variavel); " mas deu erro na hora de compilar.
Alguem sabe como posso executar o system com variaveis, ou conhece algum outro jeito de fazer isso?


  


2. ..

Enzo de Brito Ferber
EnzoFerber

(usa FreeBSD)

Enviado em 22/12/2006 - 13:59h

Cara... você vai ter que usar uma função que se chama sprintf()

...
char *comando = (char*)calloc(100,sizeof(char));
char *par1 = (char*)calloc(50,sizeof(char));
char *par2 = (char*)calloc(50,sizeof(char));
gets(par1); __fpurge(stdin);
gets(par2); __fpurge(stdin);
sprintf(comando, "grep %s %s", par1, par2);
system(comando);
...

Se você não conseguir ou tiver mais duvidas é só postar...

Espero ter ajudado,
Slackware_10


3. Re: Funçao System

Leonardo Ventura
leoventura

(usa Debian)

Enviado em 22/12/2006 - 14:23h

Kara...vlw...ja deu um alívio agora que sei que tem um jeito....mas eu não entendi muito bem o codigo nao....sera q vc poderia colocar uns comentarios explicando as linhas...é que sou novo em C...:)...vlw


4. sprintf()

Diego da Silva de Medeiros
diegotosco

(usa Slackware)

Enviado em 23/12/2006 - 23:04h

A função sprintf() é muito semelhante a função printf(), porém ela "imprime" numa variável ao invés da tela. Então o comando sprintf(comando, "grep %s %s", par1, par2) irá atribuir à variável comando a string "grep <conteúdo de par1> <conteúdo de par2>".

Note que a variável comando é um ponteiro char (como apresentado pelo nosso amigo Slackware_10) ou um vetor de char, que deve ser passado à função system() sem o uso das aspas.

Assim, o comando system(comando) funcionaria como o desejado.

Para mais informações sobre a função sprintf(), consulte o $man sprintf






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts