Klaus: C++

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

  1. 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

    --
    Keep your friends close, but your enemies closer!
  2. 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);

    --
    Anyone who quotes me in their sig is an idiot. -- Rusty Russell.
    Webapplikationen in C++ entwickeln
    1. 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!

      --
      Never argue with an idiot. He will lower you to his level and then
      beat you with experience.
      1. use Mosche;

        cout << "Content-type: text/html\n\n";
        Du meinst sicher cout << "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);

        --
        Anyone who quotes me in their sig is an idiot. -- Rusty Russell.
        Webapplikationen in C++ entwickeln
        1. cout << "Content-type: text/html\n\n";
          Du meinst sicher cout << "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.

    2. #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