C/Visual C - Leer una columna de Floats de un txt

 
Vista:

Leer una columna de Floats de un txt

Publicado por José Santiago (2 intervenciones) el 01/09/2011 15:18:14
Os quería pedir ayuda en un asunto informático. Tengo que leer un fichero txt, y deseo coger el número de la última columna, lo demás da igual... he buscado varias cosas pero nada me sale, igual me puedes dar una referencia o pista que me ayude mucho más.
Estas son las primeras líneas del archivo:

rs# chrom pos refallele refallele_freq otherallele otherallele_freq
rs10399749 chr1 45162 C 1.000 T 0
rs940550 chr1 78032 C 0 T 1.000
rs6683466 chr1 524446 C 1.000 G 0
rs12025928 chr1 536560 A 0 G 1.000
rs6650104 chr1 554340 A 0.991 G 0.009


la primera fila la tengo que obviar, sólo deseo guardar los numeritos 0, 1.000, 0, 1.000, 0.009

Gracias de antemano, un saludo!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Leer una columna de Floats de un txt

Publicado por yonatan (23 intervenciones) el 01/09/2011 19:49:54
hola, mi idea es que uses la funcion strtok(), para podes dividir la cadena en varios token, el codigo quedaria algo asi:

rs# chrom pos refallele refallele_freq otherallele otherallele_freq
rs10399749 | chr1 | 45162 | C | 1.000 | T | 0
rs940550 | chr1 | 78032 | C | 0 | T | 1.000
rs6683466 | chr1| 524446 | C | 1.000 | G | 0
rs12025928 | chr1 | 536560 | A | 0 | G | 1.000
rs6650104 | chr1 | 554340 | A | 0.991 | G | 0.009


#include <stdio.h>
#include <stdlib.h>
#include <stting.h>

void main()
{
char* AUX;
FILE* archivo;
char buffer[100];
char dato[20];

archivo=fopen("ruta","r");// apertura de archivo(puedes poner un condicional para ver si tuvo exito o no)

do
{

fgets(buffer,100,archivo);//Toma la primera linea,la almacena en buffer...

AUX=strtok(a," "); // son 7 cortes ya que tu utilizas unicamente el ultimo dato....
AUX=strtok(NULL;" ");
AUX=strtok(NULL;" ");
AUX=strtok(NULL;" ");
AUX=strtok(NULL;" ");
AUX=strtok(NULL;" ");
AUX=strtok(NULL;" ");

strcpy(dato,AUX);//copia el ultimo token en el vector datos...
printf("%s\n",dato);
} while (!(feof(archivo)));// realiza la misma accion con las lineas siguientes hasta que
//encuentre el fin del archivo.
}

espero haberte ayudado,saludos...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Leer una columna de Floats de un txt

Publicado por yonatan (23 intervenciones) el 01/09/2011 19:51:55
perdon , me olvide, ya que se trata de un texto, para pasarlo a float deves hacer una convercion de AUX, antes de almacernarlo en una variable de tipo float, sino te va a dar un error.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Leer una columna de Floats de un txt

Publicado por José Santiago (2 intervenciones) el 05/09/2011 18:04:02
Muchísimas gracias!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar