Pages: [1]   Go Down
Author Topic: Zahl als String aus Textfile auslesen und als Integer speichern  (Read 484 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 23
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo,

ich habe hier eine Textdatei auf einer Micro-SD-Karte in meinem Ethernet-Shield.

In der Textdatei steht zB folgendes:
Code:
0,0,2,122,0,249,41,22,22,91,0,1,13,51,2,200
Jetzt hätte ich gerne, dass diese Zahlen (denn das zwischen den Kommata soll jeweils eine Dezimalzahl darstellen) aus dem Textfile in eine Variable geschrieben werden.

Ich bastel bereits einige Stunden daran, allerdings ohne nennenswerte Fortschritte :-(

So etwa habe ich mir das vorgestellt:

Code:
char cache[3];
int test[16];

myFile = SD.open("test.txt"); // Oeffne Textfile

for(int i = 0; i < 16; i++)
{
myFile.readBytesUntil(',', cache, 3); // Lese eine Zahl ein und cache sie als String
test[i] = atoi(cache); // Schreibe die Zahl als int ins Int-Array
}
myFile.close(); // Schliesse Textfile

Wie würdet ihr dabei vorgehen?

Vielen Dank für eure Antworten
Metti
Logged

Germany
Offline Offline
Faraday Member
**
Karma: 56
Posts: 2983
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Wie würdet ihr dabei vorgehen?
Bevor ich die SDFat Library erweitere würde ich erstmal lokal eine kleine Funktion schreiben:

byte readBytesUntil(file f, char sep, char* cache, byte size);

Verwendung:
Code:
    byte len = readBytesUntil(myFile, ',' , cache, 3); // Lese eine Zahl in den cache
    cache[len] = 0; // Endekennung
    test[i] = atoi(cache); // Schreibe die Zahl als int ins Int-Array         

Dass cache ein bisschen zu klein ist für eine 3stellige Zahl, hast du wohl schon gemerkt.

Ansonsten: Genau so kann man's machen.

Logged

Pages: [1]   Go Up
Jump to: