1Danke
ERLEDIGT
JA
JA
ANTWORTEN
2
2
ZUGRIFFE
172
172
EMPFEHLEN
-
19.08.08 11:20 #1
Hallo zusammen,
ich habe ein für mich unerklärliches Phänomen beim Aufruf der genannten Funktion _chdir.
In unserer Anwendung soll für einen bestimmten Zweck die Existenz eines Pfads geprüft werden. Meines Wissen kann ich hierfür nur diese Funktion einsetzen, die ja das aktuelle Arbeitsverzeichnis wechselt! Sie gibt mir lt. Hilfe eine '0' zurück, wenn der Wechsel erfolgreich war und '-1' sonst.
Als einen korrekt zusammengebastelten Suchpfad sehe ich dann im Debugger bspw. "F:\ORGA\DAT\CRMABR\FINABUCH\Firma03\00000100\2008" !!Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
checkFibuDateiPfad( string sFirma, string sNSL, string sJahr ) ( int iErg = 0; int iRes = 0; // Pfad zusammenfrickeln string strPfad; strPfad = "F:\\ORGA\\DAT\\CRMABR\\FINABUCH\\Firma"; strPfad += sFirma; strPfad += "\\"; strPfad += sNSL; strPfad += "\\"; strPfad += sJahr; // Versuchen, in das angegebene Verzeichnis zu wechseln ('0' = Erfolg) const char *ch = strPfad.c_str(); iRes = _chdir( ch ); if( -1 == iRes ) { iErg = 1; } return iErg; }
Soweit, so schlecht
Ich habe nun im Rahmen einiger Tests das Verzeichnis "2008" zunächst in "SIK_2008" umbenannt - und bekomme die korrekte Meldung "Pfad nicht vorhanden".
Nach erneutem Umbenennen auf "2008" kommt die korrekte Meldung "Pfad vorhanden".
Wenn ich nun jedoch das Verzeichnis erneut auf "SIK_2008" umbenenne (oder auch auch komplett lösche), liefert mir _chdir stets eine '0', so als wenn der Pfad existieren würde!!
Was um alles in der Welt mache ich hier falsch ?
Hoffentlich hat irgendjemand die zündende Idee ...
Danke im voraus!
Gruß
Klaus
// edit : ein (wenn auch mieser) Workaround scheint zu sein, zu Beginn meiner Funktion erst einmal
aufzurufen, obwohl ich ich die Lösung eigentlich nicht sonderlich mag .....Code :1
_chdir( C:\\Windows);
Geändert von vfl_freak (19.08.08 um 11:47 Uhr)
Es ist noch kein Meister vom Himmel gefallen - sonst hätte man schon längst seine Leiche gefunden !!
Falls ich helfen konnte, wäre eine Bewertung oder ein Danke nett ;-)
-------------------------------------------------------------------------------------------------
Ich beantworte keine Fragen per PN !!
Stellt Eure Fragen im Forum - dann haben alle etwas davon !!
-
Nicht unbedingt; Du kannst auch die Funktion "_access()" verwenden:
Das Verhalten von _chdir() kann ich gerade nicht erklären. Mit _access() solltest du diese Probleme nicht haben und brauchst zum Testen auch nicht den Pfad zu wechseln.Code cpp:1 2 3 4 5 6 7 8 9 10 11 12
#include <io.h> ... iRes = _access( ch, 0 ); if( 0 == iRes ) { iErg = 1; } ...
Gruß
MCoder"The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
--- Larry Wall
-
19.08.08 12:29 #3
Hallo McCoder,
jau, das war genau dass, was ich gebraucht hatte!
Jetzt klappt es problemlos (auch ohne meinen unschönen Workaround) !!
Danke für den Tipp!!
tschüss
KlausEs ist noch kein Meister vom Himmel gefallen - sonst hätte man schon längst seine Leiche gefunden !!
Falls ich helfen konnte, wäre eine Bewertung oder ein Danke nett ;-)
-------------------------------------------------------------------------------------------------
Ich beantworte keine Fragen per PN !!
Stellt Eure Fragen im Forum - dann haben alle etwas davon !!
Ähnliche Themen
-
[IE7 Problem] Problem mit ul/li Höhen im IE7 bei Verwendung eines vertikalen Menüs
Von josDesign im Forum CSSAntworten: 0Letzter Beitrag: 11.01.11, 21:40 -
Problem: Flash MX (7.1) exportiert meine Fla nicht mehr - dringendes Problem
Von Lukasz im Forum Flash PlattformAntworten: 4Letzter Beitrag: 22.03.06, 20:50 -
Problem mit hover- background ändern & Problem bei Reload
Von ollioollio im Forum CSSAntworten: 0Letzter Beitrag: 06.10.04, 14:03 -
PROBLEM! Pinnacle 2 GB Begrenzung Windows 2000 DC 50 PROBLEM!
Von hennym im Forum Videoschnitt, Videotechnik & -produktionAntworten: 6Letzter Beitrag: 17.09.03, 22:09 -
Problem mit PopUp (Ja ich weiss Suche benutzten, hab ein ganz anderes Problem)
Von killkrog im Forum Javascript & AjaxAntworten: 6Letzter Beitrag: 13.06.02, 12:29





Zitieren

Login






