Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Problemas con manejo de 2 archivos en un programa

Estas en el tema de Problemas con manejo de 2 archivos en un programa en el foro de C/C++ en Foros del Web. Saludos. El problema que tengo es que al abrir 2 programas con fopen();, el primero se abre de forma normal pero el segundo parece no ...
  #1 (permalink)  
Antiguo 06/12/2011, 13:58
Dtc
 
Fecha de Ingreso: marzo-2011
Ubicación: México
Mensajes: 39
Antigüedad: 13 años, 1 mes
Puntos: 1
Pregunta Problemas con manejo de 2 archivos en un programa

Saludos. El problema que tengo es que al abrir 2 programas con fopen();, el primero se abre de forma normal pero el segundo parece no abrirse. Para darme a entender mejor, este es el código:

Código C:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. FILE *fp;
  5. FILE *fp2;
  6.  
  7.  
  8.  
  9. void lineas(int num);
  10. void lineas2(int num);
  11.  
  12. char a[60], b[60], c[60], d[60], a1[60], b1[60], c1[60], d1[60];
  13.  
  14. int main()
  15. {
  16. fp = fopen("rogo.txt", "r+");
  17. fp2 = fopen("rogo2.txt", "r+");
  18.  
  19.  
  20.  
  21. lineas(1);
  22. fgets(a, 80, fp);
  23. printf("Es exactamente %s\n", a);
  24. lineas(2);
  25. fgets(a, 80, fp);
  26. printf("Es exactamente %s\n", a);
  27. lineas(3);
  28. fgets(a, 80, fp);
  29. printf("Es exactamente %s\n", a);
  30. printf("correcto\n");
  31. printf("Empezando nueva fase\n");
  32. lineas2(2);
  33. fgets(a1, 80, fp2);
  34. printf("Es correcto: %s\n", a1[60]); ///Aquí es donde sale "<null>"
  35. printf("bien");
  36.    
  37.  
  38. return 0;
  39. }
  40.  
  41. void lineas(int num) ////Esta función es para avanzar a una linea específica
  42. {
  43. int conta=num-1;
  44. fseek(fp, 0, SEEK_SET);
  45. prueba:    
  46. if (conta>0)  
  47. {
  48. while (fgetc (fp) != '\n');
  49. conta--;
  50. goto prueba;
  51. }
  52. }
  53. void lineas2(int num) ///Esta es lo mismo que lo anterior pero para el segundo archivo
  54. {
  55. int conta=num-1;
  56. fseek(fp2, 0, SEEK_SET);
  57. prueba:    
  58. if (conta>0)  
  59. {
  60. while (fgetc (fp2) != '\n');
  61. conta--;
  62. goto prueba;
  63. }
  64. }

Al principio si me muestra los valores, pero al intentar leer el segundo archivo me sale <null> y no lo lee.
¿Alguna ayuda?
Gracias
__________________
La Web del Dtc
http://www.dtcsrni.tk
DtcSrni Technologies
http://technologies.dtcsrni.tk
  #2 (permalink)  
Antiguo 06/12/2011, 15:53
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: Problemas con manejo de 2 archivos en un programa

Fijate que estas usando mal las variables en los printf. Sobre el primer archivo esta bien...pero lo que haces sobre el segundo esta mal. TEnes que sacarle el indice a la variable al.

Saludos

Etiquetas: manejo, programa
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 22:54.