Título: Ayuda con ejercicio de ficheros C Publicado por: ByFuenteS en 14 Febrero 2018, 10:48 am Necesito ayuda con un ejercicio que se basa en quitar los espacios en blancos del principio de un fichero, lo he intentado con este codigo pero en el fichero auxiliar solo me salen ÿ, por todos lados.
#include <stdio.h> #include <string.h> #define filelenght void borrarespacio(FILE *f); int main() { char nombre[filelenght+1]; FILE *f; printf("Introduce el nombre del fichero: \n"); fflush(stdin); scanf("%s", nombre); f=fopen(nombre, "r"); if(f==NULL){ printf("No se ha podido abrir el fichero. \n"); return; } borrarespacio(f); system("pause"); return 0; } void borrarespacio(FILE *f){ FILE *fborrar; char leido; fborrar=fopen("borrar.txt", "w"); leido=fgetc(f); while(!feof(f)){ if(leido==' '){ fputc('\0',fborrar); } else{ fputc(leido,fborrar); while(leido!='\n'){ leido=fgetc(f); fputc(leido,fborrar); } } leido=fgetc(f); } } Alguien me podria ayudar con este codigo y a poder ser también con la busqueda de una palabra que aparece varias veces en mi código y necesito indicar la linea y la posicion en la que aparece. Muchas gracias!!! Título: Re: Ayuda con ejercicio de ficheros C Publicado por: MAFUS en 14 Febrero 2018, 12:08 pm No pongas '\0' cuando encuentres un espacio.
Lee línea a línea. Busca el primer carácter no espacio al principio desde el principio. Cuando lo encuentres toma ese puntero y lo usas como si fuera una cadena a escribir en el archivo. Algo así: Código
Solo debes cambiar la cadena estática por una conseguida a través del archivo y el printf por un fprintf al archivo nuevo. Título: Re: Ayuda con ejercicio de ficheros C Publicado por: dijsktra en 16 Febrero 2018, 14:59 pm A ver, no se si tiene mucho interes quitar los espacios del principio del fichero, pero yo contribuyo a resolver la ultima parte del mensaje
[...] Alguien me podria ayudar con este codigo y a poder ser también con la busqueda de una palabra que aparece varias veces en mi código y necesito indicar la linea y la posicion en la que aparece. Muchas gracias!!! Primero el ejemplo de ejecución: buscar "en el código" (o cualquier fichero de texto en general) las apariciones de una palabra "perror" (o cualquier palabra) indicando linea y columna. Entrada Código: searchWord.c perror (Creo que la segunda falla, porque el editor emacs que uso mete \t para dar formato al texto C...pero ya no sigo a corregirlo.) Salida Código: 45:6 perror Y ahora el código... Se trata del algoritmo más trivial de este estilo, con una complejidad theta(N*M), siendo N el numero de caracteres del archivo y M la longitud (mayor que 0) del patron a buscar. (Está claro que los google engines nunca utilizarán este algoritmo ;D) Código
|