Título: Problema para continuar un programa con ficheros Publicado por: Pol23 en 30 Septiembre 2018, 15:23 pm Hola,
Tengo un ejercicio en el que me piden copiar el contenido de un fichero a otro con 3 opciones: a) copiar a en b tal cual b) copiar a en b pero invirtiendo línea a línea, ejemplo: fichero a: 12345 abcde fichero b: 54321 edcba c) copiar a en b pero invirtiendo todo el orden: fichero b: edcba 54321 ¿podría poner un for después del while que fuera al revés (desde el final del fichero al principio) y lo fuera escribiendo? O habría que hacer una función entre el main y el copiar que sea "invertir"? Gracias Título: Re: Copiar contenido de un fichero a otro a)invirtiendo líneas b) invirtiendo todo. Publicado por: Pol23 en 30 Septiembre 2018, 15:54 pm He mejorado un poco el código para que me invierta las líneas, el problema es que solo consigo sacarlo por pantalla, cuando lo hago en un fichero, o hago bucles infinitos o no muestra lo que necesito
Además, me gustaría que el for del i fuera desde 0 hasta cualquier número y no hasta 50 (valor que he puesto por poner) ¿es esto posible? Código: #include <stdio.h> Título: Re: Copiar contenido de un fichero a otro a)invirtiendo líneas b) invirtiendo todo. Publicado por: Pol23 en 30 Septiembre 2018, 16:11 pm He mejorado un poquito más el código para que me invierta las líneas, el problema es que no me lo crea bien, se come el primer carácter y tengo un salto de línea de más
Código: El principio es igual, solo cambia "copiar" Título: Re: Problema para continuar un programa con ficheros Publicado por: MAFUS en 30 Septiembre 2018, 21:42 pm Esta es mi idea. No tiene control de errores, sólo funcionalidad básica. Probado bajo Windows, en Linux necesitaría de algunos cambios:
Código
Título: Re: Problema para continuar un programa con ficheros Publicado por: Pol23 en 5 Octubre 2018, 14:04 pm Hola Mafus
He copiado tal cual tu programa y cuando lo ejecuto sale el menú de opciones, ninguna de las 3 opciones funciona correctamente, viendo el archivo copia.tx: Opción 1 12345 abcde Opción 2 54321 edcba Opción 3 edcba 4321 Así que casi lo hace pero se come una línea (ya que mi fichero de entrada tiene 3 filas) y en todos los casos también se come caracteres, ya que las letras van hasta la J Saludos Título: Re: Problema para continuar un programa con ficheros Publicado por: MAFUS en 5 Octubre 2018, 19:38 pm A mi me va bien. Incluso para Linux sólo he tenido que eliminar 'c=='\n'? -3 : '.
Título: Re: Problema para continuar un programa con ficheros Publicado por: KnifeSkiLLs en 9 Octubre 2018, 13:52 pm Pol, en el enunciado de la evaluacion continua que pretendes llevar a cabo se te indica que el número de lineas y de caracteres por linea es aleatorio. Este ejercicio se hace muy facilmente con fgets y fprints, creando un string de chars de un tamaño grande y una funcion que invierta las cadenas que leas. Ademas, en el tercer apartado, puedes utilizar un array de strings para ir almacenando las lineas invertidas por orden. Vamos, es lo que yo haria
|