lecture fichier sur carte sd

bonjour

j enregistre des donnees sur carte sd avec une carte uno
j'ai donc un fichier.txt
j'arrive a le lire
mais j'aimerai ne lire qu'une partie des donnees que je desire selectionner dans celui-ci
auriez vous une idee ?

c’est quoi comme type de données ? tu les connais à l’avance ? tu connais les valeurs que tu veux ? dis en un peu plus …

bonjour BrUn014200

oui je connais les donnees puisque je les enregistre sur une carte sd
mes donnees sont des chiffres decimales
exemple:

100
250
350
400
600
800
750

donc si je desire obtenir que la valeur enregistree sur le carte sd de la 4 eme ligne (400)
comment dois je m'y prendre ?

antony89:
donc si je desire obtenir que la valeur enregistree sur le carte sd de la 4 eme ligne (400)
comment dois je m'y prendre ?

Si tu cherches la valeur de la 4ième ligne (par exemple), je ferais comme ça (ya surement mieux comme méthode) :

  • tu recopies toutes tes valeurs dans un tableau à l'aide d'une boucle for ce qui va donner :

tableau[0] = 100 ;
tableau[1] = 250 ;
tableau[2] = 350 ;
tableau[3] = 400 ;
tableau[4] = 600 ;
tableau[5] = 800 ;
tableau[6] = 750 ;

Après bah tu utilises la case qui t'intéresse ...

//phase de lecture
message(“Open fichier lect”);
if (!(monFichier = SD.open(“alea.txt”, FILE_READ))) { //tente d’ouvrir le fichier
message(“Erreur de fichier”);
return; //stoppe le programme
}
message(“Fichier ouvert “);
lcd.setCursor(0,0);
char c = 0; //variable de lecture
int pos = 0; //position dans la chaîne de caractère
char tab[6]={0}; //tableau de la chaîne de caractère
while (c != -1) {
c = monFichier.read(); //on lit un caractère
if (c == ‘:’) { //si : on affiche
tab[pos] = ‘\0’; //ajout du caractère de fin de chaîne
lcd.print(tab); //affichage sur le moniteur
delay(1500); // attendre entre l’affichage de carateres
lcd.print(”:”); // mettre “:” entre chaques caracteres
pos = 0; //remise à zéro de la position
}
else { // sinon
tab[pos] = c; //on ajoute le caractère à la chaîne
pos++; //on incrémente le curseur dans la chaîne

}
}
monFichier.close(); //on ferme le fichier
message(" Fichier clos ");
}

void loop() {
}
void message(String s) {
if (messageOK) {
lcd.setCursor(0,1);
lcd.print(s);
delay(2000);
}
}

comment avoir que la troisieme valeur ? de mon tableau