Textdateien vom Laufwerk lesen
-
Ich möchte mit einem auf der CD enthaltenen Programm auf eine Textdatei zugreifen. Folgende Pfadangabe: datei = fopen("./text.txt",.......);
Die Textdatei und das Programm befinden sich im gleichen Ordner(Hauptordner)
Wenn ich die CD nun brenne, kann ich die Textdatei auf meinem XP-PC nicht auslesen (selbstdefinierte Fehlermeldung wird angezeigt if (datei == NULL)).
Bei dem älteren ME-Computer geht alles reeibungslos. Hilfe !
-
Bist du dir sicher das die Datei am angegeben Pfad ist?
Wenn ja, dann bitte mal den teil des quellcodes schicken weil sonst könnt ichs mir nicht erklären.
-
"./test.txt"
"./" ist nicht unbedingt das gleiche Verzeichnis, in der auch die exe liegt!Mittels GetModuleFileName(NULL,...) und PathRemoveFileSpec() bekommt man den Pfad der exe und kann damit dann nen absoluten Pfad auf die test.txt bauen

...oder dann "./" mittels SetCurrentDirectory() auf das Verzeichnis der exe setzen
-
Ich versteh ungefähr was du meinst nur leider klappts nicht:
#include <windows.h> #include <shlwapi.h> // Für die PathRemoveFileSpec-Funktion ... LPTSTR lpFilename; DWORD nSize; GetModuleFileName(NULL,lpFilename,nSize); PathRemoveFileSpec((LPSTR)lpFilename);Der Compiler spuckt nur folgende Meldung aus: "1 unaufgelöster externer Verweis"
Was mache ich falsch?
Danke für eure Hilfe!
-
varörer schrieb:
Der Compiler spuckt nur folgende Meldung aus: "1 unaufgelöster externer Verweis"
Was mache ich falsch?Damit der Linker die Definitionen, die in shlwapi.h deklariert wurden, auch findet muss die Library "shlwapi.lib" mitgelinkt werden.
-
Jetzt kann ich wenigstens kompilieren...
Beim Programmstart aber Fehlermeldung.
Kann sich jemand mal den oben genannten Quelltext anschauen?
Vielen,vielen Dank
-
zu den pfad den du ermittelt hast fügst du jetzt "/text.txt", dann hättest du den absoluten pfad. aber warum nicht einfach die pfad angabe ganz weglassen, wenn die datei sowieso im gleichen verzeichniss liegt?