Mit sscanf aus Ringspeicher lesen.

Gast #1895053
Lesenswert?

Hallo.

Habe einen Ringspeicher und darin befinden sich hintereinander 
Zeichenketten.
Also alle mit einem NULL terminiert.
Nun kann es passieren, dass am Ende des Speichers, keine ganze 
Zeichenkette mehr platz findet und so wird sie aufgeteilt.
Ihr Anfang steht am Ende des Speichers und der Rest von Ihr setzt sich 
am Anfang des Speichers fort.
Wenn ich nun mit sscanf eine Zeichenkette nach der anderen rauslese, ist 
alles ok, bis zu dem Punkt an dem die "aufgeteilte" Zeichenkette dran 
kommt.
sscanf liest wohl alles bis NULL. Da aber am Ende meines Speichers ein 
NULL sitzt, oder eben ein nicht initialisierter Speicherbereich. 
Meistens jedoch ein NULL, denkt sscanf, da wäre meine Zeichenkette zu 
Ende.

Falls jemand verstanden hat was ich meine würde ich gerne lesen ob es 
eine Lösung oder einen anderen Ansatz gibt für dieses Problem.

Danke u. Gruß
luke
Gast #1895118
Lesenswert?

Lösung 1: Für sscanf in einen extra Puffer kopieren
Lösung 2: spezielles sscanf selber schreiben
Lösung 3: fscanf nehmen, einen Datei-Stream simulieren (geht glaub nur 
Betriebsystemabhängig)
Lösung 4: Die Hardware (MMU) so programmieren, dass der Anfang des 
Ringpuffers auch hinter dem Ringpuffer wieder eingeblendet wird.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren