Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <string.h>
- int main(){
- FILE *F;
- char cadena[100];
- char output[100];
- const char *sust={" "};//Patron sustitucion
- char *pto=NULL;
- int nivel=0;//NIvel tabulacion segun { }
- int comentario=0;//Dentro de comentarios /* */
- int comentarioB=0;//Dentro de comentarios //
- int vacia=1;
- printf ("Size %d\n", strlen (sust));
- F=fopen ("tcp_vegas.c","r");
- if (!F){puts ("Error \n");}
- else {puts ("Ok\n");}
- while (fgets (&cadena[0], 100, F)){
- //No se espacian comentarios
- if ( (strstr (cadena,"/*"))){comentario=1;}//Inicio comentario /* */
- if ( (strstr (cadena,"//"))){comentarioB=1;}//Inicio comentario tipo //
- //if ( (strstr (cadena,"*/"))){comentario=0;}
- //if ( (strstr (cadena,"{"))){nivel++;}
- if ( (strstr (cadena,"}"))){nivel--;}
- //Si la linea esta vacia no se toca
- for (int i=0;(i<100 || !cadena[i]);i++){
- if (cadena[i]!=' '){ vacia=1;}//No esta vacio
- else{vacia=0;}
- }
- //deteccion y eliminacion primer espacio en comentarios
- if (comentario && cadena[0]==' ' && vacia){
- memmove (&cadena[0],&cadena[1],strlen(cadena)+1);
- }
- pto=output;
- if (!comentario && !comentarioB && vacia){
- for (int i=1;i<=nivel;i++){
- pto=memcpy(pto,sust,strlen(sust));
- pto+=strlen(sust);
- }
- }
- if ( (strstr (cadena,"*/"))){comentario=0;}//Fin comentario /* */
- comentarioB=0;//Fin de comentarios en linea hasta el fin de linea
- if ( (strstr (cadena,"{"))){nivel++;}//Inicio { tabulacion
- memcpy(pto,&cadena,strlen(cadena)+1);//Copia hasta el final ....
- printf ("%s",output);
- }
- fclose (F);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement