cs_obby
Messages postés91Date d'inscriptionvendredi 10 octobre 2003StatutMembreDernière intervention12 octobre 2006
-
19 nov. 2005 à 18:54
cs_Matt67
Messages postés549Date d'inscriptionsamedi 6 septembre 2003StatutMembreDernière intervention 6 mars 2010
-
21 nov. 2005 à 21:11
Bonjour,
Je suis un peu embéter car je ne vois pas trop comment faire
pour exposé mon petit souci. Je vais essayer d'être le plus clair
possible.
En fait, je dois récupérer des valeurs organisées en colonnes
dans un fichier. En fait, j'ai plusieurs colonnes qui correspondent à
des choses différentes et qui sont séparé par des tabulations, par
exemple:
DATA1
DATA2
DATA3 DATA4..... '\n'
.0000E+00 .0000E+00
...
\n
le problème consiste à récuperer les valeurs. J'arrive à récuperer la
ligne entière sous forme d'une chaine de caractère et j'ai pensé à
utiliser la fonction "double atof(char*)". Cependant, comment faire
pour découper proprement cette chaine avant de faire la conversion. Et
est-ce que la conversion va prendre en compte la partie "E+00"??
cs_obby
Messages postés91Date d'inscriptionvendredi 10 octobre 2003StatutMembreDernière intervention12 octobre 2006 20 nov. 2005 à 13:30
euh j'suis pas sur d'avoir bien compris comment on utilisait cette
fonction sscanf(). Cela récupère bien des chiffres et non des
caractères car la partie chaine de caractère, ca y'a pas trop de
problème.
je vais essayer pour voir ce que ca donne malgré tout.
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_obby
Messages postés91Date d'inscriptionvendredi 10 octobre 2003StatutMembreDernière intervention12 octobre 2006 20 nov. 2005 à 14:28
il faut un %[^;]; pour chaque colonne ??? car si oui, il est évident
que cela n'est pas possible pour moi d'utiliser cette fonction car je
ne connait pas par avance le nombre de colonnes (ni de lignes) dans les
fichiers, cela est variable!!
Pour l'histoire du pointeur, j'ai essayé mais ca marche dans le mauvais sens, j'enlève la partie qui m'interresse :
deck_bsd
Messages postés1243Date d'inscriptionjeudi 31 mars 2005StatutMembreDernière intervention 3 août 20162 20 nov. 2005 à 15:09
Ha autant pour moi je pensait que tu connaisait le nombre de colones. Oui alors le pointeurs est plus pratique.
exemple:
void recup(char *ligne){
char *lignetemp;
char carac;
lignetemp =ligne;
while(*lignetemp){
carac=*ligne;
if(carac==' '){
lignetemp++;
ligne++
}else{
*lignetemp=carac;
lignetemp++;
ligne++;
}
}
}
en claire, tantque la ligne est pas terminée on parcours la ligne et si
le caractère contenut dans carac est égale a tab en passe au caractère
suivant sans l'avoir affecter a la variable ligne temp.