O programa removebig
remove de um diretório todos os ficheiros regulares cujo tamanho seja superior a um dado valor. Os argumentos do programa são o nome do diretório e o referido tamanho (exemplo de invocação para remover os ficheiros do diretório dir1
cujo tamanho seja superior a 1000000: removebig dir1 1000000
). Nota: os subdiretórios devem ser ignorados.
a) Escreva a parte do código de removebig que percorre o referido diretório e, por cada ficheiro encontado cujo tamanho seja superior ao indicado, escreve o nome do ficheiro na saída padrão, incrementa um contador do número de ficheiros a remover (variável count
) e invoca a função void remove(char *filename)
, cujo parâmetro é o nome do ficheiro a remover. Não implemente por enquanto esta função.
b) Escreva o código da função remove()
que remove o ficheiro cujo nome recebe como parâmetro, recorrendo para isso a um subprocesso (processo filho) que executa o utilitário rm
. Nota: não use chamadas system()
.
c) Escreva a parte do código de