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

Como puedo elegir qué lineas leer de un fichero?

Estas en el tema de Como puedo elegir qué lineas leer de un fichero? en el foro de C/C++ en Foros del Web. Buenas, Me acabo de registrar, estoy haciendo un proyecto de final de carrera y tengo que programar en C, necesito hacer un programa que lea ...
  #1 (permalink)  
Antiguo 04/11/2015, 04:43
 
Fecha de Ingreso: noviembre-2015
Mensajes: 2
Antigüedad: 8 años, 6 meses
Puntos: 0
Pregunta Como puedo elegir qué lineas leer de un fichero?

Buenas,
Me acabo de registrar, estoy haciendo un proyecto de final de carrera y tengo que programar en C, necesito hacer un programa que lea unos datos de un fichero y luego utilizar dichos datos. Para leerlos uso el comando "sfcanf". Los datos son en filas, de este tipo:
Código:
C    6.148780366869514   2.130000000000000   0.000000000000000
C    6.148780366869514   3.550000000000000   0.000000000000000
C    7.378536440243417   0.000000000000000   0.000000000000000
C    7.378536440243417   1.420000000000000   0.000000000000000
C    8.608292513617320   2.130000000000000   0.000000000000000
Es decir, mediante un bucle for leo un dato tipo char y tres de tipo double (hay como 100 lineas similares a éstas), y hasta aqui todo bien. Lo que pasa es que al comienzo del archivo hay dos lineas que no tienen esta forma, son de esta otra forma:
Código:
96
two graphene layers separated 12 Angstroms and 32 H2 molecules
Y estas dos lineas obviamente no puedo leerlas con un fscanf pensado para leer los datos anteriores, por lo que al leer estas dos primeras lineas, se inventa los datos que lee, y si luego hago un printf para comprobar que todo está correcto veo éso, que los 40-50 primeras lineas que hay leido el programa estan inventadas porque ha intentado leer esas dos lineas del archivo original.
Mi pregunta es si existe alguna funcion para que deje de leer esas dos primeras lineas en el bucle o si se os ocurre alguna forma de indicar que no lea esas dos líneas.
Muchas gracias!
  #2 (permalink)  
Antiguo 04/11/2015, 05:24
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 9 años, 7 meses
Puntos: 204
Respuesta: Como puedo elegir qué lineas leer de un fichero?

Lee estas dos líneas antes de empezar el bucle y así el bucle encontrará lo que espera. Si el contenido de las líneas no es importante para tus propósitos lo puedes descartar sin problemas.
__________________
La ayuda se paga con esfuerzo o con dinero. Si no estás dispuesto a esforzarte y quieres que te hagan los deberes pide presupuesto, al menos así ahorrarás tiempo.
  #3 (permalink)  
Antiguo 04/11/2015, 11:31
 
Fecha de Ingreso: febrero-2015
Mensajes: 404
Antigüedad: 9 años, 2 meses
Puntos: 3
Respuesta: Como puedo elegir qué lineas leer de un fichero?

Y si como dice eferion esas dos líneas no sirven puedes leerlas con fgets que leen una línea y le puedes indicar el tamaño máximo a leer y leerá hasta ese tamaño o hasta un salto de línea.
  #4 (permalink)  
Antiguo 05/11/2015, 02:59
 
Fecha de Ingreso: noviembre-2015
Mensajes: 2
Antigüedad: 8 años, 6 meses
Puntos: 0
Respuesta: Como puedo elegir qué lineas leer de un fichero?

Muchas gracias :)
cuando pruebe os digo qué tal me ha funcionado

Etiquetas: Ninguno
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 05:56.