mikrocontroller.net

Forum: PC-Programmierung [C/C++] fscanf-Problem


Autor: Stefan Helmert (Firma: dm2sh) (stefan_helmert)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe dieses Programm geschrieben um .bmp nach .hex zuwandeln. Das 
funktioniert auch so weit, allerdings kann es bei bestimmten 
Bildinhalten dazu kommen, dass ab einem bestimmten Punkt nur noch eine 
konstante Zahl über fscanf(bild,"%c",$tmp) eingelesen wird. Ich vermute 
einmal, dass der eingelesene Wert dabei eine Art steuerzeichen 
representiert, was dazu führt, dass der "shit upfu_ckt".
Kann das sein oder liegt es an etwas anderem?
Wie würet ihr das Einlesen lösen?
so etwas würde mir lieber gefallen:
tmp = bild[index];

Autor: Jörg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

vermute mal Du öffnest Dein Bmp-Bild per fopen(..) im Textmodus. Wenn
Du statt dessen die Datei als binäre Datei öffnest ("rb"-Modus) und per
fread(..) die einzelnen Zeichen/Pixel liest, solltest Du keine Probleme 
bekommen. Dagegen wird eine als Textdatei geöffnete Datei sozusagen 
interpretiert, d.h. Zeichen wie "/n" (=Return) werden überlesen bzw.
führen zu einem von Dir nicht gewüschten Verhalten.

Gruss

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
fscanf ist nicht geeignet, um Binärdateien zu lesen. Bilddateien sind 
aber -von ganz wenig Ausnahmen abgesehen- immer binär codiert.

Autor: Stefan Helmert (Firma: dm2sh) (stefan_helmert)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke, es hat geklappt!

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.