Forum: PC-Programmierung read data from file


von Marcel (Gast)


Lesenswert?

Hallo,

ich habe ein Textdatei, in der
1112
drinn steht.
diese möchte ich öffnen und lesen.
Das funktioniert auch, allerdings verstehe ich nicht ganz was da gelesen 
wird.
1
fd = open(test.txt, O_RDONLY);
2
bytesRead = read(fd, &buffer[0], 256*sizeof(uint16_t));
3
4
samples = bytesRead / sizeof(uint16_t);
5
6
printf("numBytes: %d     numSamples: %d\r\n", bytesRead, samples);
7
8
for(uint16_t x=0; x<samples; x++)
9
{
10
  printf("x: %d     buffer: %d\r\n", x, buffer[x]);
11
}

Die Ausgabe ist dann:
1
numBytes: 4    numSamples: 2
2
x: 0    buffer: 12593
3
x: 1    buffer: 12849

wie kommen die Zahlen 12593 und 12849 zustande?

von Tom (Gast)


Lesenswert?

12593 ist Hex 3131 ist ASCII '1' '1'
12849 ist Hex 3231 ist ASCII '2' '1', offensichtlich Byteorder LSB

von Tom (Gast)


Lesenswert?

Korrektur: nicht LSB sondern little-endian

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.