kostenloser Webspace werbefrei: lima-city


C++ String

lima-cityForumProgrammiersprachenC/C++ und D

  1. Autor dieses Themas

    k****m

    Hallo,
    Ich habe lange zeit mit C# programmiert.
    Jetzt bin ich auf C++ umgestiegen(Versuche), leider hab ich auch schon das erste Problem:
    In C# setzt man ein String so:
    string strString = "Test";

    ich hab jetzt in C++ so ausprobiert:
    string strstring = "Test";
    und
    string strstring->"Test";


    Leider hat keins von beiden funktioniert.
    Die MSDN hab ich schon durchsucht, hab aber nichts gefunden.
    Hoffentlich kann mir einer von euch helfen.

  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. benutzernaemelchen

    Kostenloser Webspace von benutzernaemelchen

    benutzernaemelchen hat kostenlosen Webspace.

    hast du auch

    #include <string>
    using namespace std;

    geschrrieben?

    Dann sollte die erste Version nämlich klappen.
  4. Autor dieses Themas

    k****m

    #include<string>
    fehlte.
    Geht aber immer noch nicht
  5. benutzernaemelchen

    Kostenloser Webspace von benutzernaemelchen

    benutzernaemelchen hat kostenlosen Webspace.

    na gut, dann gib doch einfach mal den code+Fehlermeldung raus, so macht das keinen Spaß.
  6. schrotti12

    Moderator Kostenloser Webspace von schrotti12

    schrotti12 hat kostenlosen Webspace.

    String ist eine Klasse...
    Ensprechend wird auch das Objekt zur Laufzeit angelegt:

    String s1("Dies ist ein String");
    Müsst eigentlich funktionieren, habs jetzt aber nicht ausprobiert...

    Edit:

    #include <iostream>
    #include <string>
    
    using namespace std;
    
    int main(int argc, char **argv) {
    
    	string s1("dies ist ein string");
    
    	cout << s1 << endl;
    
    }

    Compiliert mit gcc auf Windows...

    Beitrag zuletzt geändert: 18.6.2009 23:27:48 von schrotti12
  7. benutzernaemelchen

    Kostenloser Webspace von benutzernaemelchen

    benutzernaemelchen hat kostenlosen Webspace.

    schrotti12 schrieb:
    String ist eine Klasse...
    Ensprechend wird auch das Objekt zur Laufzeit angelegt:

    String s1("Dies ist ein String");
    Müsst eigentlich funktionieren, habs jetzt aber nicht ausprobiert...

    Edit:

    #include <iostream>
    #include <string>
    
    using namespace std;
    
    int main(int argc, char **argv) {
    
    	string s1("dies ist ein string");
    
    	cout << s1 << endl;
    
    }

    Compiliert mit gcc auf Windows...

    Na und?
    string s1 = "dies ist ein string"; geht trotzdem genauso, und die Methode hat er ja schon selbst vorgeschlagen und sollte ihm auch sehr viel mehr entgegenkommen, da er ja von C# kommt.

    Und wenn er
    #include <string>
    using namespace std;

    stehen hat, sollte das eigentlich klappen, deshalb ja die Frage nach seinem Code, da muss eigentlich irgendwas anderes falsch sein.
  8. schrotti12

    Moderator Kostenloser Webspace von schrotti12

    schrotti12 hat kostenlosen Webspace.

    Na ja, kommt auf den verwendeten Compiler an... Kann ja auch iwas exotisches sein, welcher den "="-Operator nicht überladen hat und somit diese Zuweisung nicht zulässt... Nicht, dass ichs glaube, aber ich mache die Aufrufe immer über die Konstruktoren, so wies in C++ nunmal üblich ist...

    Aber ja, stimmt schon, der ganze Code wäre nicht schlecht.
  9. und hier die Lösung:
    #include <iostream>
    #include <string>
    using namespace std;
    
    int main()
    {
      string s1="dies ist ein string";
      cout << s1 << endl;
    return 0;
    }
  10. e**************e

    warum muss man return 0 schreiben. Das bringt ihm aus der Schleife heraus. Aber warum auch 0?
  11. k**********k

    easyhtmlsoftware schrieb:
    warum muss man return 0 schreiben. Das bringt ihm aus der Schleife heraus. Aber warum auch 0?


    Das macht man um das Betriebssystem über den Programmablauf zu informieren. 0 bedeutet "kein Fehler". Das Programm ist also durchgelaufen ohne einen (fatalen) error zu erzeugen.
  12. c****s

    easyhtmlsoftware schrieb:
    warum muss man return 0 schreiben. Das bringt ihm aus der Schleife heraus. Aber warum auch 0?


    Aus welcher Schleife? Ich sehe in dem Programm keine Schleife.
    0 zurückzugeben ist reine Höflichkeit, du kannst auch 42 zurückgeben oder es ganz weglassen (dann kann es aber sein, dass dein Compiler anfängt rumzunörgeln). Interessant wird das ganze nur wenn eine andere Anwendung den Rückgabewert interpretiert. Zum Beispiel ein CMS ruft externe Anwendungen auf und führt in Abhängigkeit vom Rückgabewert verschiedene Aktionen durch.
  13. Könnte es - ganz banal - sein, dass das Programm keinen fehler ausgibt, sondern "gar nicht erst startet"?

    *g*
    Falls ja schau dir mal die Funktion getch aus der conio.h an. Oder System("PAUSE") oder oder oder.
  14. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!