mikrocontroller.net

Forum: PC-Programmierung Datei lesen mit hexa


Autor: Julietta Ohara (eiskalt)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

ich habe eine folgende datei
0x322e3031

da sind die daten, was im datei.dat stehen

und mit folgende Code wollte ich die Daten lesen

______________________________________

#include<stdio.h>
#include<stdlib.h>

typedef unsigned char int8

int main (){
FILE *datain_fp;

int8 datain[100];
int i;
datain_fp = fopen("../datei.dat","r");
if(datain_fp !=0){
fscanf(datain_fp,"%x",datain);
prinft("datain 0: %x \t datain 1: %x \t  datain2: %x \t datain3: %x", 
datain[0],datain[1],datain[2],datain[3])
}
return 0;

}
_________________________________________

leider bekomme ich dieses Ergebnis

datain0 = 31      datain1 = 30     datain2 = 2e     datain3 = 32

Also genau andersrum mit was ich gedacht habe.
datain0 = 32      datain1 = 2e     datain2 = 30     datain3 = 31
ich bedanke mich wenn ihr mir weiter helfen könnt.

Gruß
Julietta

Autor: Bernhard M. (boregard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
x86 Architektur speichert little-endian, auf big-endian Systemen sieht 
das genau andersherum aus...

siehe [[http://de.wikipedia.org/wiki/Big-endian]]

Autor: yalu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es ist nicht die feine Englische, der fscanf-Funktion an Stelle des
erwarteten int-Pointers einen int8-Pointer zu übergeben. Wenn die Zahl
unbedingt in einzelne Bytes zerstückelt werden muss, würde ich das
nach dem Einlesen tun.

Autor: Julietta Ohara (eiskalt)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ah! ok danke

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.