Hallo Zusammen:
Eine kurze Frage, ich lese verschiedene Dateien von einer SD Karte ein.
Die Daten sind wie folgt, als Beispiel hinterlegt:
100 // speed_max0
95 // speed_max1
100 // speed_max2
98 // speed_max3
100 // speed_max4
Die Zahl wird eingelesen, hinter // stehst die zugehörige Variable.
Das mache ich wie folgt:
char linebuf[40]; // 40 reicht für Zeilen bis 37 Zeichen Länge + CR+LF+\0
int counter1=0;
memset(linebuf,0,sizeof(linebuf)); // ausnullen des Zeilenspeichers
while (myFile.available())
{
linebuf[counter1]=myFile.read();
if (linebuf[counter1]=='\n') break; // Zeilenende, Schleife verlassen
if (counter1<sizeof(linebuf)-1) counter1++;
}
if (strstr(linebuf,"speed_max0")) speed_max[0]=atoi(linebuf);
else if (strstr(linebuf,"speed_max1")) speed_max[1]=atoi(linebuf);
else if (strstr(linebuf,"speed_max2")) speed_max[2]=atoi(linebuf);
else if (strstr(linebuf,"speed_max3")) speed_max[3]=atoi(linebuf);
else if (strstr(linebuf,"speed_max4")) speed_max[4]=atoi(linebuf);
Funktioniert einwandfrei.
Nun aber habe ich das Problem, dass ich aus einer anderen Datei 4 Chars in gleicher Weise einlesen will.
Datei schaut wie folgt aus:
char1 // intertxt1
char2 // intertxt2
char3 // intertxt3
char4 // intertxt4
Dabei soll "char1" oder was auch immer da steht in das char intertxt1 usw... reinkopiert werden.
Versucht habe ich das nun wie folgt:
char linebuf[40]; // 40 reicht für Zeilen bis 37 Zeichen Länge + CR+LF+\0
int counter1=0;
memset(linebuf,0,sizeof(linebuf)); // ausnullen des Zeilenspeichers
while (myFile.available())
{
linebuf[counter1]=myFile.read();
if (linebuf[counter1]=='\n') break; // Zeilenende, Schleife verlassen
if (counter1<sizeof(linebuf)-1) counter1++;
}
if (strstr(linebuf,"inter1")) memcpy (intertxt1,linebuf, sizeof(linebuf));
else if (strstr(linebuf,"inter2")) memcpy (intertxt2,linebuf, sizeof(linebuf));
else if (strstr(linebuf,"inter3")) memcpy (intertxt3,linebuf, sizeof(linebuf));
else if (strstr(linebuf,"inter4")) memcpy (intertxt4,linebuf, sizeof(linebuf));
Logischerweise, so wie ich es jetzt da gemacht habe, schreibt er aber jetzt nicht nur
"char1" in die intertxt sondern "char1 // intertxt1".
Meine Frage:
Wie bringe ich jetzt meinen Code dazu, dass er ab // aufhört und nur eben char1 in die intertxt einließt?
Ich möchte noch dazu anmerken, dass die Zeichenlänge, dessen, was vor dem // steht nicht fix ist.
Vielen Dank!!