Inversor de URL – C

 


//================================================================
// Nome Do Arquivo: string_reverse.c
// File Name: string_reverse.c
//
// Descrição: O programa inverte uma url e mostra o resultado.
//================================================================

// Protótipo da função
void string_reverse(char str[]);

// Libs
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

// Função main
// Main Function
int main(int argc, char** argv)
{
 char str[100];

 // Lê a url
 printf("Digite a url: ");
 gets(str);

 // Inverte a url
 string_reverse(str);

 // Imprime a url invertida
 printf("A url resultante: %sn", str);

 system("pause");
 return 0;
}

// A função inverte uma string
void string_reverse(char str[]) {
 int i, j, size;
 char *aux;

 // Calcula o tamanho da string original
 size = strlen(str);
 // Cria uma string auxiliar de mesmo tamanho
 aux = (char *)malloc(sizeof(char) * size);
 // Copia a string original para a auxiliar
 strcpy(aux, str);

 // Copia a string de forma ivertida
 // para a string original caracter por caracter
 for(i = (size-1), j = 0; i >= 0; i--, j++) {
 str[j] = aux[i];
 }

 // Marca o fim da string
 str[j] = '&#092;&#048;';
}