Problemas com a Funcao System [RESOLVIDO]

1. Problemas com a Funcao System [RESOLVIDO]

leoonardo araujo bezerra
leonardoab

(usa Outra)

Enviado em 28/04/2011 - 17:54h

Bom dia caros amigos,eh o seguinte,estou colocando a baixo uma parte do codigo:


char arquivo2[20]="/home/leonardo/";
strcat(arquivo2,id);//concatenacao da string acima com uma varialvel que vem do programa
system("mkdir "arquivo2"");?????

Queria fazer isso, criar uma pasta com o nome de uma variavel do programa...
Obrigado


  


2. Re: Problemas com a Funcao System [RESOLVIDO]

André
andrezc

(usa Debian)

Enviado em 28/04/2011 - 18:23h

Você precisaria de outra variável, daí você monta tudo como uma string com a função sprintf(). Por exemplo:

int cmd;
char arquivo2[20]="/home/leonardo/";
sprintf(cmd, "mkdir %s", arquivo2 );
return system(cmd);

Mas saiba que existem formas melhores de se criar um diretório. Pesquiser sobre a função mkdir(), da sys/dir.h. Há um post no meu blog sobre ela, veja:
http://andrezc.wordpress.com/2011/02/12/making-directories-with-c/




André.



3. Re: Problemas com a Funcao System [RESOLVIDO]

Tadzio Buscácio
Tadzio

(usa Linux Mint)

Enviado em 28/04/2011 - 21:20h

Além de ter formas muito melhores de resolver isso, o seu problema é escape.

system("mkdir "arquivo2""); // escape as aspas (\")


4. Re: Problemas com a Funcao System [RESOLVIDO]

André
andrezc

(usa Debian)

Enviado em 28/04/2011 - 22:05h

Tadzio,

assim ele criaria um diretório chamado arquivo2, e o que ele quer, na verdade é criar um diretório cujo nome é o conteúdo da variável arquivo2.



André.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts