Vamos ao código:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/stat.h>
int MostraOpcoes() //mostra as opções que vamos implementar e retorna o valor digitado pelo usuário
{
int opcao;
printf("\n1 - Lista diretorios");
printf("\n2 - Cria diretorio");
printf("\n3 - Cria arquivo");
printf("\n4 - Deleta diretorio");
printf("\n\tDigite a opcao:\t");
scanf("%d",&opcao);
return opcao;
}
void ExecutaComandos(int opcao)
{
char dir[50], cmd[50];
int op;
int ret;
struct stat files;
FILE * arquivo;
switch(opcao)
{
case 1: printf("\n\tListando\n"); //apenas lista o diretório
system("ls -la"); //usamos o comando system que enviará o comando para o sistema
break;
case 2: printf("\n\tCriando Diretorio\n"); //vamos ler o nome do diretório a ser criado
printf("\n\tInforme o nome do diretorio: ");
scanf("%s",dir);
sprintf(cmd, "mkdir %s",dir);
if(stat(dir,&files)==0) //Vamos verificar se ele existe
{
printf("\nO arquivo ja existe!!!\nDeseja Remove-lo? 1-Sim\t");
scanf("%d", &op);
if(op == 1) //caso ele existe e o usuário desejar apagar, vamos remover o diretório e criar novamente
{
sprintf(cmd,"rm -r %s",dir); //cmd recebe a string rm -r + o conteúdo de "dir"
system(cmd);
sprintf(cmd, "mkdir %s",dir);
system(cmd);
}
}
else
ret = system(cmd);
break;
case 3: printf("\n\tInforme o nome do arquivo:\t"); //vamos criar um arquivo
scanf("%s",dir);
arquivo = fopen(dir,"r"); //aqui é simples, usamos fopen com opção 'r' assim se o arquivo existir vamos informar ao usuário
if (arquivo != NULL)
printf("\nO arquivo ja existe");
else
arquivo = fopen(dir,"w"); //se não existir o criamos
break;
fclose(arquivo);
case 4: printf("\n\tInforme o nome do diretorio:\t"); //apenas excluiremos o diretório
scanf("%s", dir);
if(stat(dir,&files)==0)
{
sprintf(cmd,"rm -r %s",dir);
system(cmd);
}
else
printf("\nArquivo inexistente!!\n");
break;
}
}
int main()
{
int opcao;
int continua;
do
{
opcao = MostraOpcoes();
ExecutaComandos(opcao);
printf("\n\tPressione 0 para sair:\t");
scanf("%d",&continua);
}while(continua !=0);
return 0;
}
Nenhum comentário:
Postar um comentário