File in anderem Pfad laden?
-
Mein Programm sitzt in einem Ornder zb c:\abc\def\prog.exe und jetzt will ich eine Datei in einem ganz anderen Ordner laden in zb c:\xyz\def\text.txt wie mache ich das?
-
gebe doch den direkten Pfad an von den er die File laden soll!
:p
-
Und wie mache ich das? Kann ja nicht einfach ifstream file("irgendeinpfad") machen...
-
Bist du dir da sicher? Hast du die Backslashes gedoppelt?
-
Ja hab ich... Es geht immer noch nicht..
-
Es müsste so oder so ähnlich aussehen:
ifstream* f; f->open("C:/xyz/def/text.txt", ios::in); // Alternativ auch // f->open("C:\\xyz\\def\\text.txt", ios::in); // ... f->close();
Du kannst den Pfad mit "." und ".." natürlich auch relativ angeben.
Das ist insbesondere besser, wenn man den Pfad fest einprogrammiert und das Programm auf anderen Systemen, die keine Laufwerksbuchstaben kennen, verwenden möchte.MfG
Vic
-
Neee das geht bei mir nicht...
-
"Geht nicht" ist keine Fehlerbeschreibung. Die in der Autowerkstatt wissen auch nicht was an deinem Auto kaputt ist wenn du ihnen nur sagst dass es nicht mehr fährt.
Zeig am besten mal den Codeausschnitt...
-
Was soll ich da auch groß für einen Codeausschnitt geben?
Code ist:
ifstream load("C:\\abc\\SomeFile.txt");
if (load)
{
cout << "Es geht";
}
else {
cout << "Es geht nicht";
}
Es kommt immer es geht nicht...
-
falls du mit cygnus oder der gnu-stdlib arbeitest, muß es "/c/abc/SomeFile.txt" heißen. cygnus verlangt die pfadangaben wegen kompatibilität nämlich im unix-format.
-
Oh bitte vielmals um entschuldigung... War mein Fehler so idiotisch dass ich ihn hier nicht nennen will
-
*peitschehol*
.MamboKurt
-
MIt Boost wäre das nicht passiert!