Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Tracert

Treue Seele

  • »Tracert« ist der Autor dieses Themas

Beiträge: 108

Wohnort: Braunschweig

Beruf: Student

  • Private Nachricht senden

1

14.09.2003, 00:25

Wie lang kann ein Windows-Verzeichnispfad sein?

Moin Leute!

Hab ein kleines Problem. In meinem Programm brauche ich öfter mal den Dateipfad, und zwar den kompletten. Z.B. wenn ich eine Ini-Datei über GetPrivateProfileString o.ä. auslesen will, die im Programmverzeichnis liegt. Soweit so gut, den Pfad bekomme ich über GetCurrentDirectory.

Da komme ich dann aber zu dem Problem. Ich weiß ja nie, in welchem Verzeichnis der Nutzer das Programm vielleicht abgelegt hat, und wie viele Zeichen die einzelnen Ordnernamen haben, also weiß ich auch nicht, wie groß das char-Array (bzw. der String) sein muss, in dem ich den Pfad speichern will. Soweit klar?

Um auf Nummer sicher zu gehen dachte ich, es gibt vielleicht einen Höchstwert, wie lang ein Pfad unter Windows sein kann. Weiß jemand ob dem so ist und wo evtl. die Grenze ist?

Danke!
TR

Jens

Treue Seele

Beiträge: 117

Wohnort: Dresden

  • Private Nachricht senden

2

14.09.2003, 01:15

Dateinamenlänge

Die Länge der Verzeichnisnamen richtet sich nach der Dateinamenlänge, also 256.
Also den Buffer für Dateinamen und Verzeichnisnamen immer MAX_PATH sizen. Denn der Dateiname (path) enthält ja den gesamten Verzeichnisnamen.

Oh, ist das eigentlich unter XP noch so?
Bis später...

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

3

14.09.2003, 01:21

Ja, ist immer noch so (habs grade ausprobiert).

Tracert

Treue Seele

  • »Tracert« ist der Autor dieses Themas

Beiträge: 108

Wohnort: Braunschweig

Beruf: Student

  • Private Nachricht senden

4

14.09.2003, 10:33

Cool, danke!

;D

TR

5

14.09.2003, 14:54

War das unter XP nich 1024 ?

Tracert

Treue Seele

  • »Tracert« ist der Autor dieses Themas

Beiträge: 108

Wohnort: Braunschweig

Beruf: Student

  • Private Nachricht senden

6

14.09.2003, 15:50

Laut VC++.net ist die Konstante MAX_PATH = 260 und ich arbeite unter WindowsXP. Also nehme ich mal an, das wird auch stimmen.

Davon abgesehen, das man nur in seltendsten Fällen einen so tiefen Pfad benutzen wird hat sich mein Programm auch noch nicht beschwert... ;)

TR

DarthB

Treue Seele

Beiträge: 265

Beruf: Schüler

  • Private Nachricht senden

7

17.09.2003, 18:45

Reicht es nicht aus bei GetProfileString einfach einen punkt als Pfad anzugeben um in den selben Pfad des Programmes zu kommen. Ungefähr so:
"./myConfig.ini"

Ciao DarthB

AXA

Frischling

  • Private Nachricht senden

8

20.09.2003, 14:22

Ich meine das geht so

"Ordner//Datei.typ"
Aktuelles Projekt: Geheim

wird diese Projekt ein erfolg gründe ich
ein Team !!!

Werbeanzeige