probleme mit datein

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
sen-me
Beiträge: 478
Registriert: 17.07.2005 16:02
Wohnort: Saarbrücken
Kontaktdaten:

probleme mit datein

Beitrag von sen-me »

hmm ich habn problem

wenn ich eine datei lade die zu groß ist, dann schmirt mir das programm ab (hab die datein eingelesen und dan nochmal in eine neue datei geschrieben)

er tut zwar die datei richtig einlesen, aber ausgeben hat er probleme

(mittels readfile öffne ich, hol mir mit filesize die größe und mach daraus ein array, wo dan jedes byte der datei eingelesen wird, am ende wird dan ein createfile gemacht worin ich dan die aus dem array gespeicherten werte hole und die datei daraus schreibe (writebyte))
Benutzeravatar
roherter
Beiträge: 1407
Registriert: 10.04.2005 18:58
Kontaktdaten:

Beitrag von roherter »

Ich kenne zwar nicht genau das problem aber ich würde anstatt filesize das hier nehmen:
Lof()

LOF steht für 'Length Of File' (Länge der Datei). Es gibt die Länge der aktuellen Datei zurück!

ps:Ich weiß ja nicht was du vor hast??
Purebasic 5.0 32bit und 64 bit

I'm back from hell
Benutzeravatar
sen-me
Beiträge: 478
Registriert: 17.07.2005 16:02
Wohnort: Saarbrücken
Kontaktdaten:

Beitrag von sen-me »

wenn ich exe datein auslese?

ne abe rich glaub ich weiß wos problem liegen könnte

f_size=Filesize(file)

bei long liegt ja ne grenze, kann man es irgendwie machen das man eine unendlich zahl speichern kann?
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag von MVXA »

Geht aber in die rechenzeit, wenn du eine 4096-Bit Zahl zum Rechnen
benutzt ;).
Bild
Benutzeravatar
sen-me
Beiträge: 478
Registriert: 17.07.2005 16:02
Wohnort: Saarbrücken
Kontaktdaten:

Beitrag von sen-me »

egal
Benutzeravatar
Laurin
Beiträge: 1639
Registriert: 23.09.2004 18:04
Wohnort: /dev/eth0

Beitrag von Laurin »

sen-me hat geschrieben:ne abe rich glaub ich weiß wos problem liegen könnte

f_size=Filesize(file)

bei long liegt ja ne grenze, kann man es irgendwie machen das man eine unendlich zahl speichern kann?
Die Grenze bei Longs liegen in diesem Fall bei 2 GB großen Dateien. Das dürfte doch mehr als ausreichend sein, oder?
wo dan jedes byte der datei eingelesen wird
(writebyte)
Byteweise??? Das dauert doch Ewigkeiten. Benutze anstatt eines Arrays lieber AllocateMemory(), ReadData() und WriteData(). Da dürfte es dann auch wurscht sein, wie groß die Datei ist.
Now these points of data make a beautiful line.
And we're out of beta. We're releasing on time.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

wieso eigentlich der umweg über die memory?

...ich mein.. du schreibst hier ja nicht, daß du was dran manipulieren willst...

und selbst wenn, schreibs doch direkt in ne neue datei, und arbeite auf der mittels FileSeek()
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
sen-me
Beiträge: 478
Registriert: 17.07.2005 16:02
Wohnort: Saarbrücken
Kontaktdaten:

Beitrag von sen-me »

ja ich wills manipulieren, aber ich muss ja vorherwissen wieviel bytes die datei hat...
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

ich meine nur... du kannst es auch direkt auf der platte manipulieren...

dann isses egal, wie groß es ist und wieviel speicher du hast...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
sen-me
Beiträge: 478
Registriert: 17.07.2005 16:02
Wohnort: Saarbrücken
Kontaktdaten:

Beitrag von sen-me »

kapir ich nicht? ich will ne neue datei aber draus machen
Antworten