Ir para conteúdo
Fórum Script Brasil

juan_hunterjn@hotmail.com

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre juan_hunterjn@hotmail.com

juan_hunterjn@hotmail.com's Achievements

0

Reputação

  1. 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, porem 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. Porem 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"); //Porem 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"); }
×
×
  • Criar Novo...