_chdir(" ") == 0 -> ich glaub mein schwein pfeift !! pieeeeeeeeeep
-
printf("%d", _chdir(" "));
ausgabe: 0
das giebts doch nicht !
-
Bei mir ist das Ergebnis -1, wie erwartet.
-
Wenn du -1 haben willst, solltest du vielleicht vorher
unlink(" ")
sagen.
-
nein.
ich habe eine funktion geschrieben, die benutzereingaben prüft.
benutzer gibt ein verzeichnis ein, funktion prüft, ob es existiert.
-
Ich denke, Flamers Post war eher ein (gar nicht mal so schlechter) Witz. Es gibt natürlich kein Verzeichnis " ". Poste doch mal mehr Code, vielleicht kommen wir dem Ganzen auf die Schliche.
-
dafür ist ja nicht mehr als diese eine zeile quellcode nötig.
komischerweise passiert das nur unter windows98 bei xp, grade probiert, bekomme ich auch -1
-
Hmm, dann würde ich höchstens noch probieren, ob _wchdir sich eventuell anders verhält. Viele Hoffnungen würde ich mir da aber nicht machen...
-
Moment! Wie sieht's denn bei _chdir("") aus? Kriegst du da wenigstens eine -1? In dem Fall könntest du ja vor dem Aufruf alle führenden und abschließenden Leerzeichen entfernen, und dein Programm würde auch unter Win98 vernünftig laufen.
-
_matze schrieb:
Moment! Wie sieht's denn bei _chdir("") aus? Kriegst du da wenigstens eine -1? In dem Fall könntest du ja vor dem Aufruf alle führenden und abschließenden Leerzeichen entfernen, und dein Programm würde auch unter Win98 vernünftig laufen.
ja, da kommt tatsächlich -1 raus.
der tipp die leerzeichen zu entfernen ist eine gute idee.bei der gelegenheit habe ich ein neues phänomen entdeckt !
ich habe einen ordner c:\test
ordner mit dem namen c:\test. , c:\test.. usw. existieren definitiv nicht.trotzdem liefern folgende zeilen eine 0:
printf("%d\n", _chdir("c:\\test.") );
printf("%d\n", _chdir("c:\\test..") );
printf("%d\n", _chdir("c:\\test...") );
printf("%d\n", _chdir("c:\\test....") );das ist doch zum ko....
-
Das hat aber seine Richtigkeit! Das Verzeichnis "C:\test" ist ja ein Eintrag ohne Dateiendung, also "c:\test.". Du kannst ja in der Konsole auch "CD c:\test." eingeben und kommst ans Ziel! Das das auch mit mehreren Punkten funktioniert, liegt wahrscheinlich einfach daran, dass seit Windows95 eben mehrere Punkte erlaubt sind (z.B. Datei "test.tst.txt").
Falls du früher mit DOS gearbeitet hast, dann erinnere dich an Befehle wie "XCOPY /E *. c:\testdir". So hast du alle Dateien ohne Endung (also normalerweise alle Verzeichnisse) nach c:\testdir kopiert.
EDIT: Ich hab's gerade mal getestet. "CD c:\test....." funktioniert; man landet im Verzeichnis "c:\test", wie gewünscht!
-
aach so. das wusste ich nicht, das das mit den punkten normal ist, das die ignoriert werden.
naja wäre ja nicht das erste mal, das windows98 ein seltsames verhalten an den tag legt. wie z.b. mit der doppelten getche anzeige.
_matze, danke für deine hilfe !
-
häääh ??? schrieb:
aach so. das wusste ich nicht, das das mit den punkten normal ist, das die ignoriert werden.
naja wäre ja nicht das erste mal, das windows98 ein seltsames verhalten an den tag legt. wie z.b. mit der doppelten getche anzeige.
_matze, danke für deine hilfe !Kein Thema.
Was meinst du mit doppelter getche Anzeige? Ich kann's leider nicht testen, mein letzter Win98-Rechner wurde schon längst zu Grabe getragen...
-
damit meine ich, das hier
http://www.c-plusplus.net/forum/viewtopic-var-t-is-209597.html
wird bei mir unter windows98 auch doppelt ausgegeben, unter xp nicht.