Hallo Ihr!
Ich versuche grade für meine SD-Karte eine Art pseudo-xml zu realisieren. Nach dem Muster
<tagname=wert>
sind da Werte drauf. Allerdings habe ich arge probleme mit den Strings in C. Folgendes funktioniert irgendwie nicht.
tpx_find_char geht ganz gut, aber das einlesen der Zeichen von der SD in einen String funktioniert nicht ansatzweise...Code:// Findet das nächste Zeichen mit dem übergebenen Wert in einer Datei, ansonsten wird 0 zurückgegeben unsigned long int tpx_find_char(char s) { unsigned long int count=0; unsigned long int seek=file.length; char p; do { count++; p = ffread(); } while (!((--seek<0) || (p==s))); return count; } int tpx_read_tag(char* name, char* value) { char *s; int count; int i=0; // Wenn keine Datei offen ist, abbrechen if (!fileopened) { return 1; } // Beginn des tags finden tpx_find_char('<'); // Zeichen bis zum Ende des Namens (also bis zum '=') zählen count = (int) tpx_find_char('=') -1; // zurück setzen file.seek -= count; // Daten Einlesen... s = (char*) malloc(count+1); for (i=0; i<count; i++) { s[i] = ffread(); s[i+1] = '\0'; } // und ausgeben. strcpy(name, s); free(s); // Zeichen bis zum Ende des Tags (also bis zum '>') zählen count = (int) tpx_find_char('>'); // zurück setzen file.seek -= count; // Daten Einlesen... s = (char*) malloc(count+1); for (i=0; i<count; i++) { s[i] = ffread(); s[i+1] = '\0'; } for (i=0; i<count; i++) { s[i] = ffread(); } // und ausgeben. strcpy(value, s); free(s); return 0; }
Danke für Hilfe,
Bääääär







Zitieren

Lesezeichen