Cómo escribir un programa en C que elimine comentarios en el código fuente C
(1) Abra este archivo fuente C como archivo de entrada. fin
(2) Abrir un archivo de trabajo como un nuevo archivo de salida fout
(3) Bucle
Leer línea por línea,
# define buff_size 4000
char target[] = "//";
char *buff;
buff = (char *) malloc( Buff_size * sizeof (char));
while ( fgets( buff, buff_size, fin) !=NULL ) {
L = strlen(buff); strncmp(...) El bucle interno busca el objetivo en el beneficio. Determine si se encuentra. Si lo encuentra, reemplácelo con "\0" y genere el búfer; de lo contrario, genere el búfer.
}
(4) Cerrar dos archivos
--------------------- - ------
El siguiente procesamiento/* */Comentarios
(5) Abra el archivo de trabajo como archivo de entrada fin
Abra el resultado archivo como archivo de salida fout
(6) Establecer indicador de estado flag = 0
(7) Utilice fgetc para leer BYTE en un bucle,
if indicador == 0:
- Si lo que se lee no es /, entonces genera este BYTE y regresa al bucle
- Si lo que se lee es /, entonces lee otro BYTE; Si lo que se lee no es *, genere / y este BYTE y regrese al bucle; de lo contrario, es el comienzo del comentario; establezca el indicador = 1 y regrese al bucle
If flag == 1; :
- Si lo leído no es *, se regresa al bucle
- Si lo leído es *, entonces se lee otro BYTE, si lo leído es *, luego se lee otro BYTE. Si lo que se lee no es /, regresa al bucle, si es /, entonces el flag = 0 regresa al bucle;
(8) Cerrar ambos archivos