Forum: PC-Programmierung [C] Pointeradresse aus Textdatei


von Thomas (Gast)


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!!!!

: Verschoben durch Moderator
von Kindergärtner (Gast)


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;

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.