Ir ao conteúdo
  • Cadastre-se

Juan Damo

Membro Júnior
  • Posts

    2
  • Cadastrado em

  • Última visita

Reputação

1
  1. Boa tarde Flávio Pedroza, Obrigado pela ajuda. Consegui resolver entrando no IF da seguinte forma: fgets(cmd01, 60, stdin); printf("|DEBUG1: %s", &cmd01); while(cmd01[contador] != ' '){ //Aqui separar a string renomearDir e guarda na variavel SC SC[contador]=cmd01[contador]; contador++; } Abraços
  2. Boa tarde, O código abaixo basicamente serve para criar um comando próprio chamado "renomeiaDir", eu poderei dar dois parâmetros para ele "renomeiaDir <Diretório Origem> <Diretório Destino>. Essa parte está ok, porém precisarei depois criar mais comandos, e para cada comando precisarei criar um IF, e para entrar no IF criei um while que deve ler a primeira string e guardar na variável "SC", essa variável receberá o comando e será comparado com as variáveis que estão em Comandos, se for igual entra no IF e executa o restante dos parâmetros. porém esse while e/ou a comparação tem alguma coisa que não estou entendendo que não deixa entrar no IF. Obrigado pelo auxílio. #include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> int main() { //VARIÁVEIS GLOBAIS ================================== char cmd01[60]; // char sourceFile[1024]; // char destFile[1024]; char letra; char SC[50]; int contador = 1; int quantidade_comandos = 1; char matriz_de_comandos[quantidade_comandos][50]; //================================================== //COMANDOS GERAIS ================================== char renomearDir[50] = "renomearDir:"; //Aqui seria o conteudo da string para comparar e entrar no if char exit[10] = "exit\n";//A comparacao do exit para entrar no IF funciona //================================================== printf("ht-C0mmand >> "); fflush(stdin); fgets(cmd01, 60, stdin); while(cmd01[contador] != '\0'){ //Aqui separar a string renomearDir e guarda na variavel SC SC[contador]=cmd01[contador]; contador++; } printf("|DEBUG: Executed command > %s\n", SC); printf("|DEBUG: Command > %s\n", exit); printf("|DEBUG: Command > %s\n", renomearDir); // RENOMEAR ARQUIVO ============================================================= if (strcmp(SC, renomearDir) == 0){ //Aqui teria que comparar o conteúdo, se for igual retorna zero e entra no if, mas não acontece printf("Debug| NO IF\n"); //porém se trocar para 1, queé o retorno de string diferente, ele entra, então seria somente int contador_comandos = 1; //a comparacao que tem algo que eu ainda não peguei int contador_letras = 0; for (contador=0; contador < strlen(cmd01)-1; contador++) { letra = cmd01[contador]; if (letra == ' ') { matriz_de_comandos[contador_comandos-1][contador_letras] = '\0'; contador_comandos++; contador_letras = 0; continue; } matriz_de_comandos[contador_comandos-1][contador_letras] = letra; contador_letras++; } matriz_de_comandos[contador_comandos-1][contador_letras] = '\0'; // BACKUP strcpy(sourceFile, matriz_de_comandos[0]); strcpy(sourceFile, matriz_de_comandos[quantidade_comandos]); printf("Debug | first path> %s \n", sourceFile); strcpy(destFile, matriz_de_comandos[quantidade_comandos+1]); printf("Debug | second path> %s \n", destFile); rename (sourceFile, destFile); } //=============================================================================== // EXIT ========================================================================= if (strcmp(SC, exit)==0){ printf("SAINDO!\n====="); } system("pause"); }

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...