Bonjour,
Je suis sur un projet qui me demande d'aller modifier un fichier texte, sur carte SD, pour enregistrer la dernière configuration utilisée.
J'utilise les fonctions dédiées à la librairie SD, file.seek(), file.print(), file.position()... ou file.read(). J'ai testé indépendamment chaque fonction, elles fonctionnent bien, sauf que...
Lorsque je souhaite modifier la donnée qui m'intéresse, ma donnée est positionnée à la dernière place de mon fichier, malgré le seek() qui me positionne le curseur au bon endroit. La fonction file.read() m'a permis de m'en assurer.
Je souhaiterai savoir si quelqu'un a déjà eu ce problème. Je ne souhaite pas supprimer mon fichier avec le remove et le reconstituer mais juste le modifier.
myFile = SD.open("MyFile.txt", FILE_WRITE);
while(!myFile){}
if(myFile)
{
myFile.seek(curseur);
myFile.print(valASCII);
}
Ceci est la partie du code qui me pose problème. La valeur de curseur a été définie au préalable pour déterminer la position de la valeur à modifier. Le matériel utilisé est une board MKR Zero associée à une carte Mkr Eth Shd.