Foros del Web » Programación » C/C++ »

Problema en ejercicio de ficheros

Estas en el tema de Problema en ejercicio de ficheros en el foro de C/C++ en Foros del Web. Hola. Estoy empezando con el tema de ficheros. Tengo este ejercicio: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código C: Ver original /*Un programa que pregunte un nombre de fichero ...
  #1 (permalink)  
Antiguo 04/02/2012, 11:20
 
Fecha de Ingreso: enero-2012
Mensajes: 68
Antigüedad: 2 años, 6 meses
Puntos: 0
Problema en ejercicio de ficheros

Hola.

Estoy empezando con el tema de ficheros.

Tengo este ejercicio:

Código C:
Ver original
  1. /*Un programa que pregunte un nombre de fichero y muestre en pantalla el contenido de
  2. ese fichero, haciendo una pausa después de cada 25 líneas, para que dé tiempo a
  3. leerlo. Cuando el usuario pulse intro, se mostrarán las siguientes 25 líneas, y así hasta
  4. que termine el fichero.*/
  5.  
  6. #include <stdio.h>
  7. #include <stdlib.h>
  8. #include <string.h>
  9.  
  10.  
  11. int main()
  12. {
  13.     FILE* fichero;
  14.     char nombre[50];
  15.     char linea[81];
  16.     char pausar[2];
  17.     int i;
  18.    
  19.     printf("Introduce un nombre");
  20.     fgets(nombre,49,stdin);
  21.     i=0;
  22. fichero = fopen(nombre, "rt");
  23. if (fichero == NULL)
  24. {
  25. printf("No existe el fichero!\n");
  26. exit(1);
  27. }
  28. while (! feof(fichero)) {
  29. i=i+25;
  30. fgets(linea, i, fichero);
  31. puts(linea);
  32. do{
  33. gets(pausar);
  34. }
  35. while(strcmp(pausar,"")!=0);
  36.  
  37. }
  38.  
  39. fclose(fichero);
  40.    
  41.     system("pause");
  42.     return 0;
  43. }

Pero tengo varias cosas mal:

- Siempre me dice que el fichero no existe.
- No consigo que pare cada 25 líneas hasta que presione intro sin escribir nada (lo que he conseguido ha sido cada X letras...).

Muchas gracias.

Saludos.
  #2 (permalink)  
Antiguo 05/02/2012, 08:15
 
Fecha de Ingreso: diciembre-2011
Ubicación: CABA
Mensajes: 433
Antigüedad: 2 años, 6 meses
Puntos: 94
Respuesta: Problema en ejercicio de ficheros

hola DickGumshoe! el problema que tenes cuando decis "Siempre me dice que el fichero no existe." es xq cuando usas fgets para pedir el nombre del fichero introducis caracteres hasta que encuentre nueva linea(enter) el cual tambien se guarda en el arreglo nombre[]. Supongamos que el archivo se llama "ficheros.txt", y vos llamas a fgets, en el arreglo vas a guardar: "ficheros.txt\n" (incluido el ENTER) . En este caso t conviene usar scanf, gets, hacer un ciclo con getchar....
El otro problema es que estas usando mal la variable i, deberias usarla como un indice para contar 25 lineas
Código C:
Ver original
  1. while(!feof(fichero))
  2. {
  3. fgets(linea,81,fichero);
  4. puts(linea);
  5. i++;
  6. if(i==25)
  7. {
  8.   system("pause");
  9.   system("cls"); // para limpiar la pantalla
  10. }
  11. }


Espero habert ayudado. Saludos

Etiquetas: ejercicio, fichero, ficheros, programa, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:35.
SEO by vBSEO 3.3.2