Hola,
Ole!
ich habe vor, eine in C geschriebene Anwendung (apache2 auf win2k) als CGI in meinen Webserver einzubinden. Wie gehe ich dabei vor?
Ich denke, dazu haben die anderen schon viel Gutes geschrieben. Wichtig ist, dass die erste Ausgabe deiner CGI-Anwendung ein _gültiger_ HTTP-Header sein muss, ansonsten verweigert der Apache die Mitarbeit; wichtig ist vor allem ein Content-Type Header.
(Nur mal so am Rand: Muss es unbedingt C sein? C speichert Zeichenketten als Pointer auf einen Speicherbereich, der mit einem Null-Byte abgeschlossen wird. Damit kann man sich schön in den Fuß schießen. C++ hat zwar mit Pointern auch so seine Probleme und ist von der Performance nicht ganz so toll wie C, bietet aber gute Klassen, mit denen sich viel Stress ersparen kann.)
Ich meine - wie erhält meine Datei die CGI-Umgebungsvariablen?
Per getenv(), dem du den Namen der Umgebungsvariable übergeben musst oder mit der globalen Variable environ, die alle Umgebungsvariablen als Array enthält. Wenn du wissen willst, welche Variablen alle gesetzt sind, kannst du ein Testprogramm schreiben, das folgendes macht:
int i;
for (i = 0; environ[i]; ++i)
puts(environ[i]);
Wäre super wenn mir jemand helfen könnte. Ich habe zwar mal von c-als-cgi-einbinden-modulen gehört, habe aber keinen blassen schimmer.
Hab auch nur mal Testweise damit gespielt.
WauWAu
Robert