Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo Leute.

Was ich versuche:

Es soll aus einem C++ Programm über eine Applikation eine Grafik-Datei geöffnet werden, die in einem bestimmten Verzeichnis liegen können soll. Der User soll nur den Namen der Datei eingeben, der Pfad soll vom Programm hinzugefügt werden. Danach soll die Applikation gestartet und das betreffende Dokument angezeigt werden. Das Starten der Applikation funxt schon automatisch, wenn ich nur den Dateinamen der zu öffnenden Datei angebe.

Mein Problem:

Ich muß den Pfad manuell hinzufügen über die Abfrage nach dem Dateinamen innerhalb des Programmes: Abfrage: cin << aufruf ; ( = "d:\test-tif\test1.tif")

Alles, was ich vom Programm selber an Pfad hinzugebe (Konstanten und Einsetzen von Werten in Variablen) wird einfach ignoriert:

aufruf="c:\verzeichnis\name.tif"

führt zu einem glatten Durchlauf des Programmes ohne Ausführung der Applikation bzw. Öffnen der betreffenden Datei.

Wenn ich jedoch nur angebe:

aufruf="name.tif"

wird ein Dokument, das sich im Projektverzeichnis befindet, geöffnet.

Insgesamt wird also nur der Pfad ignoriert.

:mad:

Die problematische Zeile:

status = system(aufruf);

Zusatzinfo zur Zeile:

int status;

char aufruf[128];

status=0;

cin << aufruf // Hier wird der Name bzw. Name + Pfad eingegeben bzw. hinzugefügt

Bin übrigens ein C/C++ Anfänger, kann gut sein, daß es was dämliches ist. Compilieren läßt es sich jedoch ohne Fehler und Warnungen.

Danke für Eure Antworten! :)

Geschrieben

Hi,

Du musst an system() exakt die Zeichenkette uebergeben, die Du auch in die Shell eintippen und mit <cr> bestaetigen wuerdest. Voraussetzung ist, dass ueber die Shell ueberhaupt moeglich ist, die Application zu starten UND eine Datei zu launchen.

Noch was: In der Zeichenkette erzeugst Du mit "\t" das ASCII-Zeichen fuer einen Tabulator, weil '\' eine sog. Escape-Sequenz ist und nicht etwa das ASCII-Zeichen fuer Backslash.

Uli

[ 15. Juni 2001: Beitrag editiert von: EisenUli ]

Geschrieben
Original erstellt von EisenUli:

<STRONG>Hi,

Noch was: In der Zeichenkette erzeugst Du mit "\t" das ASCII-Zeichen fuer einen Tabulator, weil '\' eine sog. Escape-Sequenz ist und nicht etwa das ASCII-Zeichen fuer Backslash.

Uli

[ 15. Juni 2001: Beitrag editiert von: EisenUli ]</STRONG>

Deswegen string="c:\\test\\test.gif"

Geschrieben

Vielen Dank für die schnelle und professionelle Hilfe @Uli & @Mike :)

Werde Montag auf der Arbeit dann ausprobieren, jetzt ist erst mal Wochenende :D:D:D

Tachyoon

Geschrieben

*Moinmoin*

Habs probiert und es klappt ohne Probleme. :)

Dafür habe ich jetzt ein anderes... *arg* ...aber das paßt hier nicht zum Thema, habe daher ein neues eröffnet.

Dieser post hier kann eigentlich geschlossen werden, da ja die Frage beantwortet ist.

Tachyoon

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...