30-01-2024, 15:30
Cześć,
mam projekcik, w którym chciałbym nadpisywać pewne dane zapisane w pliku txt na karcie SD. Z konfiguracją nie ma problemu. Kłopot jest z tym, że jak bym nie zakombinował, to nowy tekst jest zawsze dodawany na końcu pliku a nie w miejscu, w którym ustawiłem kursor.
Poniżej przykładowy kawałek kodu i wynik działania.
Mój plik txt na początku zawiera takie dane:
aa
bb
cc
dd
Natomiast wynik działania jest taki:
W jaki sposób mogę nadpisać dane na 5 pozycji kursora? Nie wchodzi w grę kopiowanie zawartości do plików tymczasowych ponieważ mój plik txt może być bardzo długi i będzie zajmować to za dużo czasu.
Jakieś pomysły?
michciobb
mam projekcik, w którym chciałbym nadpisywać pewne dane zapisane w pliku txt na karcie SD. Z konfiguracją nie ma problemu. Kłopot jest z tym, że jak bym nie zakombinował, to nowy tekst jest zawsze dodawany na końcu pliku a nie w miejscu, w którym ustawiłem kursor.
Poniżej przykładowy kawałek kodu i wynik działania.
Mój plik txt na początku zawiera takie dane:
aa
bb
cc
dd
Kod:
myFile = SD.open("/test1.txt", FILE_APPEND );
Serial.print("Pozycja kursora na końcu: ");
Serial.println(myFile.position());
myFile.seek(5);
Serial.print("Pozycja kursora po komendzie seek(): ");
Serial.println(myFile.position());
myFile.write('z');
Serial.print("Pozycja kursora po komendzie println(): ");
Serial.println(myFile.position());
myFile.close();
Natomiast wynik działania jest taki:
Cytat:Pozycja kursora na końcu: 14
Pozycja kursora po komendzie seek(): 5
Pozycja kursora po komendzie println(): 15
aa
bb
cc
ddz
W jaki sposób mogę nadpisać dane na 5 pozycji kursora? Nie wchodzi w grę kopiowanie zawartości do plików tymczasowych ponieważ mój plik txt może być bardzo długi i będzie zajmować to za dużo czasu.
Jakieś pomysły?
michciobb