• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

In C++ Datei aus übergeordneten Pfad öffnen

stromij

Neues Mitglied
Hallo!

Ich wende mich in tiefer Verzweiflung an euch. Die Frage scheint einfach zu sein, doch Google wollte mir auch nach drei Stunden recherche nichts sinnvolles rausspucken. Ich glaube dennoch, dass irgendwo im www die Antowrt zu finden ist.

Wie kann ich durch eine C++ Datei (test.exe) eine Datei öffnen, die eine Ebene höher liegt (test1.exe) ohne(!) das test1.exe im selben Fenster geöffnet wird und somit die selbe arbeitsurl hat?

Vielen Dank schon mal im Vorraus!!!
 
Werbung:
Hallo!

Ich wende mich in tiefer Verzweiflung an euch. Die Frage scheint einfach zu sein, doch Google wollte mir auch nach drei Stunden recherche nichts sinnvolles rausspucken. Ich glaube dennoch, dass irgendwo im www die Antowrt zu finden ist.

Wie kann ich durch eine C++ Datei (test.exe) eine Datei öffnen, die eine Ebene höher liegt (test1.exe) ohne(!) das test1.exe im selben Fenster geöffnet wird und somit die selbe arbeitsurl hat?

Vielen Dank schon mal im Vorraus!!!

Ist test1.exe eine Datei, die ein Ausgabefenster erzeugt? Wenn nicht, kannst du ein Kommandozeilenprogramm immanent ausführen lassen.
 
hallo!

test1.exe ist eine Datei, die ein Fenster erzeugt, in dem man Eingaben machen soll, zum Beipiel ein "Taschenrechner".

Grüße
Stromi
 
Werbung:
Mit spawnl aus der Headerdatei process.h kannst du ein Programm starten (ist wie ShellExecute) und es sollte den Titel anzeigen, der diesem Programm gegeben ist - hast du Zugriff auf die Veränderbarkeit der test1.exe?
 
Hallo!

Ja, die test1.exe ist von mir geschrieben.
Sähe der Code dann wie folgt aus?
Code:
spawnl(NOWAIT, "..\\test1.exe");
Im Header steht natürlich dann #include <process.h> ;-)

Grüße
Stromi
 
Zuletzt bearbeitet:
Wie kann ich durch eine C++ Datei (test.exe) eine Datei öffnen, die eine Ebene höher liegt (test1.exe) ohne(!) das test1.exe im selben Fenster geöffnet wird und somit die selbe arbeitsurl hat?
Wieso url??? Du sprichst doch von einem Kommandozeilen programm, oder nicht?
 
Werbung:
Hi!

Ich rede von einem kompilierten Komandozeilenprogramm, ja.
Ich meine mit URL den Pfad, ich hoffe das ist klar. Ist es soooo schwer nen neues Programm zu starten? :(

Ich bin doch noch anfänger....

Grüße
Stromi
 
Hi!

Ich...äääähh... :oops: da hast du recht. zwischen URL und Pfad ist ein UNterschied...

Ein Problem hab ich aber mit system()
Hier der Code von test.exe:
Code:
#include <iostream>
#include <direct.h>
using namespace std;

int main()
 {
  char   k[256];
  string i="";
  double zahl=1; 
  while(zahl!=0)  
  { getcwd( k, 256);
    printf(k);
    cout << ">";
    cin >> i;
    if(i=="test")
      {system("..\\test1.exe");
       zahl=0;}
    else
      {system(i.c_str());}
  }
 }
Da gibt er mir ja immer den Pfad aus. Wenn ich jetzt test eingebe, dann springt er zu folgendem Code (test1.exe, also eine Ebene höher):
Code:
#include <iostream>
#include <direct.h>
using namespace std;

int main()
 {
  char   k[256];
  string i="";
  double zahl=1;
  cout << "datei gewechselt" << endl; 
  while(zahl!=0)  
  { getcwd( k, 256);
    printf(k);
    cout << ">";
    cin >> i;
    system(i.c_str());
  }
 }

auch hier gibt er mir wieder den Pfad aus, aber den selben wie in der vorherigen Datei. Und genau das will ich nicht.

Danke für eure Hilfe!!!!

Grüße
Stromi
 
Werbung:
Mir ist nicht so ganz klar was du erreichen willst. Willst du den Pfad wechseln?
Dazu lautet der Befehl chdir und ist in der dir.h
 
Ich könnt dich in den Boden knutschen!!! :-D

Klasse! Das ist das, was ich erreichen wollte, nur hatte ich diese Möglichkeit aufgegeben. Ich wollte dann immer ne Datei ein Verzeichnis höher Kopieren, und diese dann öffnen!!!

Vielen Dank!!!

Die andere Richtung, also ne Ebene runter geht dann so:
Code:
 chdir(".\\test");
Da geht er dann in den Ordner test.

Vielen Dank noch mal und Grüße
Stromi
 
Zurück
Oben