cs_sandy27
Messages postés20Date d'inscriptionlundi 10 octobre 2005StatutMembreDernière intervention 6 août 2008
-
24 nov. 2005 à 19:23
cs_sandy27
Messages postés20Date d'inscriptionlundi 10 octobre 2005StatutMembreDernière intervention 6 août 2008
-
8 déc. 2005 à 18:40
Alors je vais poser une question qui a déjà été posée dans le forum, mais les réponses ne me conviennent pas ! je veux lire un fichier qui contient des séries de valeurs en colonne, avec chaque ligne correspondant à un instant (la 1ere colonne c'est le temps, les autres colonnes sont les données que je veux récupérer). Apparament il faut utiliser la fonction fgets qui va lire chaque ligne, et après il faut identifier dans chaque ligne la tabulation qui sépare chaque donnée. Mais je ne sais pas faire cette dernière chose, et c'est pas un peu lourd ça quand on a 40 colonnes ?? et pourquoi je pourrais pas utiliser fscanf ?? bref, j'y arrive pas du tout !!
cs_sandy27
Messages postés20Date d'inscriptionlundi 10 octobre 2005StatutMembreDernière intervention 6 août 2008 25 nov. 2005 à 18:03
en effet je ne savais pas, merci !
sinon j'ai essayé de lire mon fichier avec fscanf, mais il y a 41 colonnes à lire et je ne sais pas manipuler les formats: est qu'il faut répéter 41 fois "%f% avant de citer les noms de variables ou est-ce qu'on peut écrire "41%f" ??
j'ai aussi voulu essayer de lire le fichier ligne par ligne avec fgets, mais fgets lit la ligne en tant que chaine de caractère. Il faut ensuite détecter 40 tabultations qui délimitent mes données.... je n'arrive pas à le faire !! sans compter qu'il faut après convertir en flottant...
while (fgets(Text, TAILLEBUFFER, Inputs_file)) /*lecture ligne par ligne*/
{
i=0; j=0; k=1;
while (i <= strlen(Text))
{
while (Text[i] != '\t') i++; /* je détecte la tabulation qui sépare mes données */
strncpy (Var, Text + j , i);
Inputs_data[k] = strtod(Var, NULL); /* je convertis en nombre que je stocke dans un tableau */
j = i;
i++;
k++;
}
}
je sais pas si c'est la meilleure solution, mais au moins c'est générique, je peux autant de ligne et de colonnes que je veux...