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.

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;
}
tpx_find_char geht ganz gut, aber das einlesen der Zeichen von der SD in einen String funktioniert nicht ansatzweise...

Danke für Hilfe,
Bääääär