Re: usando o shell a partir de programa em C
Em Tue, 26 Jun 2001 14:45:19 -0300 (EST)
Jackson Gois <jacksong@iq.usp.br> escreveu:
> Ola kov, obrigado pela resposta. Acabei de testar a sua sugestao.
> O programa foi compilado normalmente e rodou normalmente tambem, mas nao
> funcionou. Meu arquivo novo continua la. No man do unlink esta exatamente
> do jeito que eu coloquei abaixo....
sim... no man está daquele jeito... aquilo se chama declaração, ou
"prototype" (protótipo)... é uma indicação de como a função deve
ser usada... por exemplo:
int funcao (char *nome);
isso significa que a função recebe uma string como argumento (char *nome)
e retorna um inteiro... então eu posso fazer:
int main()
{
int i;
i = funcao ("Gustavo");
return i;
}
sacou? estude melhor esse capítulo ;) onde você está aprendendo C?
> Sera que falta algo em meu sistema ? Obrigado.
provavelmente você está tendo algum erro de permissão ou não está
incluindo o header necessário... (dá um warning quando compila?)
a manpage me diz que você precisa dar um #include no <unistd.h>
faça o seguinte pra testar...
compile e execute esse programa:
-------------><----------------
#include <stdio.h>
#include <unistd.h>
#include <errno.h>
extern int errno;
int main()
{
if (unlink("/tmp/novo") == -1)
perror("erro");
else
printf("arquivo apagado...\n");
return 0;
}
------------><------------------
se for problema de permissão você deve ver algo assim:
[kov]@[couve][/tmp] # ./t
erro: Operation not permitted
[kov]@[couve][/tmp] # ls -l novo
-rw-rw-r-- 1 root root 0 Jun 26 15:50 novo
(./t foi o nome que dei pro prg aqui...)
[]s!
--
Gustavo Noronha Silva - kov <http://www.metainfo.org/kov>
*----------------------------------------------------------------*
| .''`. | Debian GNU/Linux: <http://www.debian.org> |
| : :' : | Debian BR.......: <http://debian-br.sourceforge.net> |
| `. `'` | Be Happy! Be FREE! |
| `- | "Think globally, act locally!" |
*----------------------------------------------------------------*
Reply to: