Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: Dimitar Stefanov en 06 de Julio 2016, 22:04
-
Buenas noches. Dejo una posible solución del ejercicio CU00543F del curso lenguajeC desde cero.
EJERCICIO
En un archivo denominado miTexto.txt existen varias líneas de texto. Crear un programa que extraiga el contenido de las líneas hasta el final del archivo usando eof ó feof y las muestre por pantalla.
Ejemplo: si el contenido del archivo es el siguiente.
Cumpliendo con mi oficio
piedra con piedra, pluma a pluma,
pasa el invierno y deja
sitios abandonados.
El resultado de ejecución deberá ser el siguiente:
Linea 1 contiene: Cumpliendo con mi oficio
Linea 2 contiene: piedra con piedra, pluma a pluma,
Linea 3 contiene: pasa el invierno y deja
Linea 4 contiene: sitios abandonados.
Añade varias líneas más al archivo y comprueba que el programa las extrae todas.
#include <stdio.h>
#include <stdlib.h>
#define NUMELEMENTOS 50
int main() {
char cadena[NUMELEMENTOS];
int i=0;
FILE*fichero;
fichero = fopen("miTexto.txt","rt");
while(!feof(fichero)){
fgets(cadena,50,fichero);
printf("La linea %d contiene: %s\n", i+1, cadena);
i++;
}
fclose(fichero);
return 0;
}
Contenido del fichero miTexto.txt:
Cumpliendo con mi oficio
piedra con piedra, pluma a pluma,
pasa el invierno y deja
sitios abandonados.
Gracias.
-
Buenas veo el código ok el único problema lo tendrías si en una línea de texto tuvieras más de 50 caracteres ya que no te cabría en la longitud de cadena utilizada
-
Buenas noches, Ogramar.
Gracias por tu tiempo y por corregirme el ejercicio. Entonces, ¿debería declarar la variable cadena así: char cadena[]? Pero creo que le tendría que especificar un índice, ¿no?
Saludos.
-
Hola! Sí, hay que especificar índice o utilizar otro tipo de estructuras de datos más avanzadas
Saludos!