[C] webseitenaufruf mit system("start ...");

Andy382

Grünschnabel
Hallo zusammen,

ich versuche nun schon seit einigen stunden eine Webseite mittels system(); zu öffnen.

Bei "normalen" Webseiten habe ich keinerlei Probleme, doch bei Webseiten in deren Link ein "&" vorkommt bekomme ich eine Fehlermeldung.

Beispiel:

system("start http://www.test.de&guestbook.php");

Lässt sich ohne Probleme compilieren. Beim Ausführen in der win32 konsolenanwendung kommt folgende Fehlermeldung:
Der Befehl "guestbook.php" ist entweder falsch geschrieben oder konnte nicht gefunden werden.

Aufgerufen wird gleichzeitig die Seite http://www.test.de

Und jetzt die alles entscheidende Frage, wie bekomme ich system() dazu, den korrekten Link mit dem standardbrowser zu öffnen?

Hoffe ihr könnt mir da weiterhelfen!
Danke!

Betriebssystem: XP
Compiler: Pelles C
 
Das ist klar, da es sich nur um einen String handelt, der als Test dient.
Die seite die ich aufrufen will ist nur über Login erreichbar, deshalb habe ich hier eine fiktive seite genommen.

Sollte das kommando funktionieren, würde der browser halt eine fehlermedung bringen, dass die seite nicht existiert (wie er es wahrscheinlich bei dir gemacht hat).

Es geht nur darum, wie ich es schaffe webseiten mit einem & drin aufzurufen
 
Hi, es wird nicht funktionieren, da der &-Operator anderweitig überladen ist. Versuch ein / (Slash) vor das & (und) zu setzen.Ein slash wird immer ignoriert. Das gleiche Bei einem Cout
Bsp.:
PHP:
/*Ausgabe auf dem Schirm:*
/*Hier ist ein Hochkomma " *//
Syntax:
cout<<"Hier ist ein Hochkomma /" ";
Immer wenn du einen Pfad oder Text in hochkommas angiebst, setz lieber ein Slash vor einem Sonderzeichen;)
 
Danke für deine Antwort, leider funktioniert es bei C nicht. Weder bei einer printf() anwendung oder einer system() anwendung. Bei c werden nach einem slash folgende zeichen nicht ignoriert (oder zumindest bei meinem compiler).

Sollte ich dann gleich auf c++ umsteigen (bin halt noch ein alter c fan)?

Bei system("start http://www.test.de/&guestbook.php")
wird dann die seite http://www.test.de/ aufgerufen. Fehlermeldung bleibt die gleiche...
 
also c++ kann ich dir nur empfehlen;) Aber es kann auch sein, dass dein Kompiler da eher kritisch reagiert. Versuch es mal mit einem Anderen. Ich nutze den MS Visual Studio (gibs auch als kostenlose Express version;))
 
@Marshall: Habe jetzt Visual C++ express raufgepackt.

Dein Beispielprogramm mag aber bei mir gleich mal gar nicht.

int main()
{
cout << "Hier ist ein Hochkomma /" ";


c:\dokumente und einstellungen\andy\eigene dateien\visual studio 2008\projects\seitenaufruf\seitenaufruf\input1.cpp(20) : error C2001: Zeilenvorschub in Konstante.
c:\dokumente und einstellungen\andy\eigene dateien\visual studio 2008\projects\seitenaufruf\seitenaufruf\input1.cpp(22) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'system'

Spricht das mit dem slash haut nicht hin...



Ich will doch nur einen link mit nem & drin aufrufen *verzweifel*
 
Mist, habe grad bei mir in Projekten nachgeschaut. Es muss ein Backslash sein ( \ ).
Tut mir Leid. mein Fehler. Hoffe es ist jezt nicht all zu wild:/
etwa so:
PHP:
system("C:\\WINDOWS\\System32\\shutdown.exe -s -f -t 0 ");
wie du siehst lautet der eigentliche Pfad C:\WINDOWS\System... also immer nur mit einem Backslash, aber das interpretiert der Kompiler nicht. Eins ignoriert es, und beachtet dan immer erst das nachfolgende Zeichen.

EDIT: achso^^ Probier meine Zeile NICHT aus;) War einfach aus nen Projekt grad kopiert^^
 
Zuletzt bearbeitet:
Zurück