ErrorDeSintaxis

Pequeños fragmentos de código fuente en distintos lenguajes de programación, agrupados por categorías.

Puedes buscar entre los fuentes existentes, o aportar los tuyos.

C: Conversor básico de texto a HTML

Conversor básico de texto a HTML, reemplazando algunos símbolos por sus equivalentes

Lenguaje: C (compilador: Turbo C)

Categoría: Ficheros

/* Fuente procedente de ErrorDeSintaxis.es */
/* Conversor básico de texto a HTML, reemplazando */
/*  algunos símbolos por sus equivalentes */
/* Compilador: Turbo C */
/* Nivel: Básico */
/* Disponible desde 17/08/2011 */
/* Aportado por Nacho */
/* Autor original: Nacho Cabanes */
#include <stdio.h>
#include <stdlib.h>
 
int main() {
    FILE* entrada;
    FILE* salida;
    char nombreEntrada[80];
    char nombreSalida[80];
    char letra;
 
    printf("Nombre del fichero: ");
    gets(nombreEntrada);
 
    entrada = fopen(nombreEntrada, "rt");
    if (entrada == NULL) {
        printf("No encontrado!\n");
        return 1;
    }
 
    sprintf(nombreSalida,
            "%s.result", nombreEntrada);
 
    salida = fopen(nombreSalida, "wt");
    if (salida == NULL) {
        printf("No se ha podido crear!\n");
        return 2;
    }
 
    /* Repito para todo el fichero */
    while (!feof(entrada)) {
        letra = fgetc(entrada);  /* Leo una letra */
        if (!feof(entrada))      /* Si he podido leer */
            switch (letra) {
                case '>':
                  fprintf(salida, "&gt;");
                  break;
                case '<':
                  fprintf(salida, "&lt;");
                  break;
                case '&':
                  fprintf(salida, "&amp;");
                  break;
                case '\n':
                  fprintf(salida, "<br />");
                  break;
                case 'ñ':
                  fprintf(salida, "&ntilde;");
                  break;
                case 'á':
                  fprintf(salida, "&aacute;");
                  break;
                case 'é':
                  fprintf(salida, "&eacute;");
                  break;
                case 'í':
                  fprintf(salida, "&iacute;");
                  break;
                case 'ó':
                  fprintf(salida, "&oacute;");
                  break;
                case 'ú':
                  fprintf(salida, "&uacute;");
                  break;
                default:
                  fputc(letra, salida);
            }
    }
 
    fclose(entrada);
    fclose(salida);
 
    return 0;
}