[C] Pointeradresse aus Textdatei

Gast #3299789
Lesenswert?
• ▲
▼
Hallo Gemeinde.
Ich programmiere gerade C für einen DSP.
Mein Problem: Ich lese eine Textdatei ein, in der in der ersten Zeile 
eine Adressangabe steht.

z.B.
0x12345678

Exakt diese Adresse möchte ich einem 32bit-Pointer zuweisen. Also das 
der Pointer dann auf die Adresse 0x12345678 zeigt.

Bin so weit, dass mein definierter char puffer[100] zum einlesen der 
ersten Zeile der Textdatei mittels
fgets(puffer, 100, pFile);
die Addressinformationen beinhaltet. Allerdings im ASCII-Code.

puffer
[0]    0x30 ('0')
[1]    0x78 ('x')
[2]    0x31 ('1')
[3]    0x32 ('2')
[4]    0x33 ('3')
[5]    0x34 ('4')
[6]    0x35 ('5')
[7]    0x36 ('6')
[8]    0x37 ('7')
[9]    0x38 ('8')

Wie bastel ich mir jetzt meine Adresse für den Pointer in C korrekt 
zusammen? (nur mit der stdio, ohne stringstream etc.)
Vielen Dank!!!!
Gast #3299818
Lesenswert?
• ▲
▼
Thomas schrieb:
> Exakt diese Adresse möchte ich einem 32bit-Pointer zuweisen. Also das
> der Pointer dann auf die Adresse 0x12345678 zeigt.
jetzt bin ich aber mal gespannt, was du erwartest, was am Ziel des 
Pointers stehen soll. Bestimmt nicht mehr das, was da mal stand, als die 
Datei geschrieben wurde.

Pointer sind aber im Endeffekt nur Integer und das lesen geht mit dem 
guten alten scanf:
1
#include <stdio.h>
2
#include <stdint.h>
3

4
uintptr_t iptr;
5
fscanf (fileDescriptor, "0x%x", &iptr);
6
void* myPtr = (void*) iptr;

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