Miles
04-06-2003, 20:56
Ich hab das Thema schon mal in einem anderen Thread so ähnlich geschrieben. Aber es ist doch etwas anders.
Also:
Wenn ich in Windows ein C++-Programm in C++ geschrieben hab und dann mit einem ofstream (einfach eine Klasse, um in Dateien zu schreiben, wers nicht weiß ;-)) ein File geschrieben hab, dann hat das in etwa so ausgesehen:
#include<fstream.h>
int main(int i,char *cpa[])
{ ofstream oFile("Test.txt");
oFile<<"This is a test.\n";
oFile.close();
}
Wenn das Programm dann gestartet wurde, ist nachher im gleichen Verzeichnis wie wie Exec. auch die von mir erstellte Datei gewesen. Das gleiche gilt auch für Files, aus denen ich lesen will. Soweit, sogut.
Unter Linux ist das aber ganz anders. Und ich finde das viel schlechter. Aber vielleicht kann man mich ja aufklären. :D
Also: Wenn ich EXAKT den gleichen Quellcode in Linux starte, dann habe ich nachher das File "Test.txt" nicht im gleichen Directory wie meine Exec, sondern (da ich Root bin) IMMER im /root-Directory.
Das ist doch echt Mist, oder? Ich meine, ich kann nicht alle Files von allen Programmen im /root-Diredory haben bzw. will ich das nicht. Aber auf der anderen Seite will ich meine Programme aber nicht mit einem fixen Directory schreiben.
Das Problem ergibt sich ja schon, wenn ich das Programm statt im /root im /root/etwas_anderes hab.
Ich hoffe ihr wisst was ich meine.
Wie kann ich es in Linux zu stande bringen, dass meine externen Files IMMER IM GLEICHEN DIRECTORY geöffnet/geschrieben werden, so wie unter Windows?
Also:
Wenn ich in Windows ein C++-Programm in C++ geschrieben hab und dann mit einem ofstream (einfach eine Klasse, um in Dateien zu schreiben, wers nicht weiß ;-)) ein File geschrieben hab, dann hat das in etwa so ausgesehen:
#include<fstream.h>
int main(int i,char *cpa[])
{ ofstream oFile("Test.txt");
oFile<<"This is a test.\n";
oFile.close();
}
Wenn das Programm dann gestartet wurde, ist nachher im gleichen Verzeichnis wie wie Exec. auch die von mir erstellte Datei gewesen. Das gleiche gilt auch für Files, aus denen ich lesen will. Soweit, sogut.
Unter Linux ist das aber ganz anders. Und ich finde das viel schlechter. Aber vielleicht kann man mich ja aufklären. :D
Also: Wenn ich EXAKT den gleichen Quellcode in Linux starte, dann habe ich nachher das File "Test.txt" nicht im gleichen Directory wie meine Exec, sondern (da ich Root bin) IMMER im /root-Directory.
Das ist doch echt Mist, oder? Ich meine, ich kann nicht alle Files von allen Programmen im /root-Diredory haben bzw. will ich das nicht. Aber auf der anderen Seite will ich meine Programme aber nicht mit einem fixen Directory schreiben.
Das Problem ergibt sich ja schon, wenn ich das Programm statt im /root im /root/etwas_anderes hab.
Ich hoffe ihr wisst was ich meine.
Wie kann ich es in Linux zu stande bringen, dass meine externen Files IMMER IM GLEICHEN DIRECTORY geöffnet/geschrieben werden, so wie unter Windows?