C++
Klaus
- programmiertechnik
Hallo,
so hab nun auch mal was in C++ gemacht.
#include <iostream>
using namespace std;
int main()
{
cout << "Hallo mal sehen ob das geht!";
return 0;
}
Hab einfach mal mit dem ganz normalen Helle Wold angefangen. So meine Frage ist nun kann ich das denn auch für das Web verwenden wenn JA wie muss ich das denn machen, dass der User davon auch was sieht?
Gruß Klaus
Sup!
Du legst das Programm einfach ins cgi-bin von Deinem Webserver, machst es auführbar und lässt es ausserdem noch einen http-Header ausgeben. Dann rufst Du es auf.
Und fertig.
Gruesse,
Bio
use Mosche;
Hab einfach mal mit dem ganz normalen Helle Wold angefangen. So meine Frage ist nun kann ich das denn auch für das Web verwenden wenn JA wie muss ich das denn machen, dass der User davon auch was sieht?
Du machst es genauso wie bei Perl über CGI: du gibst am Anfang einen Content-Type aus:
cout << "Content-type: text/html\n\n";
use Tschoe qw(Matti);
hi!
Du machst es genauso wie bei Perl über CGI: du gibst am Anfang einen
Content-Type aus:
cout << "Content-type: text/html\n\n";
Du meinst sicher cout << "Content-Type: text/html" << endl << endl;
;)
bye, Frank!
use Mosche;
cout << "Content-type: text/html\n\n";
Du meinst sichercout << "Content-Type: text/html" << endl << endl;
;)
Nö. Ich habe mir das überlegt, war aber der Meinung, dass die beiden "flush"-es, die im endl stecken, überflüssig sind. Programmiere aber nicht so oft C++, dass ich da jetzt rumdiskutieren würde, wenn du mir sagst, dass das keinen Unterschied macht :-)
use Tschoe qw(Matti);
cout << "Content-type: text/html\n\n";
Du meinst sichercout << "Content-Type: text/html" << endl << endl;
;)Nö. Ich habe mir das überlegt, war aber der Meinung, dass die beiden
"flush"-es, die im endl stecken, überflüssig sind.
Einen flush bewirkt es nur bei line-buffered I/O. Da bewirkt aber auch \n einen flush. Allerdings ist I/O zwischen Prozessen und in Dateien in der Regel block-buffered, nicht line-buffered.
#include <robert>
Du machst es genauso wie bei Perl über CGI: du gibst am Anfang einen Content-Type aus:
cout << "Content-type: text/html\n\n";
Sofern dein CGI-Programm unter Windows läuft, ist das so korrekt, aber Unices habe eine andere Vorstellung von '\n' als Windows: Unter Windows ist '\n' eine Abkürzung für '\x0D\x0A', was dem HTTP-Standard entspricht. Unter Unix, wo wohl die meisten Apachen laufen, ist '\n' allerdings nur '\x0A'. Wenn du auf der sicheren Seite sein willst, schreibe also besser
cout << "Content-type: text/html\x0D\x0A\x0D\x0A";
Ich würde mir dafür wahrscheinlich einen konstanten String definieren, z.B.
const char nl[] = "\x0D\x0A";
Grüße, Robert