www.mikrocontroller.net

Forum: Compiler & IDEs Mit sscanf aus Ringspeicher lesen.


Autor: luke (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: sebastians (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.