
C – Eliminar comentarios
Agosto 18, 2007A veces queremos eliminar los comentarios de un archivo de código fuente en C y no tenemos otra forma que ir borrándolos uno a uno. Si el fichero tiene una extensión considerable puede llegar a ser muy tedioso. ¿Por qué no tener un programa que se encargue de eliminarlos?
#include <stdio.h>
#include <string.h>
int main (int argc, char *argv[])
{
if ( argc != 2){
printf("Error, parámetros erróneos.\\n");
printf("Utilice: ./Elimina_comentarios nombre_archivo\\n");
return 0;
}
FILE *fresult;
FILE *forigin;
char c, car;
/* Este programa elimina los comentarios de un archivo de código fuente en C*/
fresult = fopen("Fichero_sin_comentarios", "w");
forigin = fopen(argv[1], "r");
if ( forigin == NULL){
printf("Error abriendo el fichero\\n");
return 1;
}
while((c=getc(forigin)) != EOF)
{
if (c == '/')
{
c=getc(forigin);
if ( c == '/'){
c=getc(forigin);
while( c != '\\n')
c=getc(forigin);
}else if(c == '*'){
c=getc(forigin);
while (c != '*')
c=getc(forigin);
c=getc(forigin);
c=getc(forigin);
}
}
putc(c,fresult);
}
return 0;
}
Espero que os sea de utilidad. Si encontráis cualquier error o sugerencia comunicádmelo.

