Ir para conteúdo
Fórum Script Brasil
  • 0

Comparação de Strings incorreta


juan_hunterjn@hotmail.com

Pergunta

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");
}

 

Editado por juan_hunterjn@hotmail.com
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...