Kleines Speicherproblem

Anfängerfragen zum Programmieren mit PureBasic.
TuX.
Beiträge: 6
Registriert: 02.02.2009 18:33

Kleines Speicherproblem

Beitrag von TuX. »

Hallo,

ich habe gerade etwas mit Memorybuffern gemacht. Das Programm liest eine Datei in den Speicher ein und gibt die größe der Datei und des Speicherbereichs aus

Code: Alles auswählen

File$ = OpenFileRequester("","","All files|*.*",0)
ReadFile(0,File$)
lof =  Lof(0)
Debug "Lof: " + Str(lof)
buf = AllocateMemory(lof)
Debug "Size Buffer: " + Str(SizeOf(buf))
ReadData(0,buf,lof)
Debug "Content Buf: |" + PeekS(buf,lof) + "|"
CloseFile(0)
FreeMemory(buf)
Das Programm gibt folgendes bei mir aus:

Code: Alles auswählen

Lof: 21579
Size Buffer: 4
Content Buf: |ÿØÿà|
Egal, welche Datei ich einlesen lasse, die Größe des Speicherbereichs ist immer 4 Bytes groß bei mir.

Weiß jemand woran das liegen könnte und wie man das Problem behebt?

Danke
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Beitrag von cxAlex »

Du verwendest SizeOf(), richtig währe MemorySize().

Code: Alles auswählen

File$ = OpenFileRequester("", "", "All files|*.*", 0)
ReadFile(0, File$)
lof = Lof(0)
Debug "Lof: " + Str(lof)
buf = AllocateMemory(lof)
Debug "Size Buffer: " + Str(MemorySize(buf))
ReadData(0, buf, lof)
Debug "Content Buf: |" + PeekS(buf, lof) + "|"
CloseFile(0)
FreeMemory(buf)
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Benutzeravatar
Kiffi
Beiträge: 10711
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Kleines Speicherproblem

Beitrag von Kiffi »

Code: Alles auswählen

Debug "Size Buffer: " + Str(lof)
oder

Code: Alles auswählen

Debug "Size Buffer: " + Str(MemorySize(buf))
Grüße ... Kiffi
a²+b²=mc²
TuX.
Beiträge: 6
Registriert: 02.02.2009 18:33

Beitrag von TuX. »

Vielen Dank euch beiden
Antworten