Zahl als String aus Textfile auslesen und als Integer speichern

Hallo,

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

In der Textdatei steht zB folgendes:

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 :frowning:

So etwa habe ich mir das vorgestellt:

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

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:

    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.