Frage zu Strings in VC++



  • Hallo,

    also ich habe in einer allg. C++ Doku gelesen, dass es eine C++ standardisierte Headerdatei "string.h" gäbe, mit der man den Datentyp "string" verwenden könne, welcher unproblematischer in der Handhabung als die herkömmliche char Variante sei. Dies habe ich sehr begrüßt, weil chars doch etwas problematisch sind, wenn es um dynamische Länge, etc. geht. Naja leider funktioniert das bei mir mit dem "string" nicht. 😉
    Ich möchte auch NICHT MFC benutzen, deshalb wollte ich fragen, welche Möglichkeiten es, ausser char, denn noch gibt??



  • std::string gibt es noch, definiert im header <string>



  • Verwende nicht die Headerdateien mit dem "h" am Ende, wenn du die Strings in der STL verwenden willst. Die sind veraltet.

    Probier folgendes:

    #include <string>    // kein ".h" am Ende
    using namespace std; // Namensbereich "std" verwenden
    
    int main() // oder was auch immer
    {
      // ohne dem "using namespace std;" müsstest du immer
      // den Namensbereich angeben wenn du einen string deklarierst
      // std::string einString;
      // wir wollens aber bequemer haben...
      string einString = "lala";
      wstring nocheinString = "Ein Unicode-String";
    
      return 0;
    }
    

    EDIT: Außerdem rate ich dir, deine Programme in Unicode zu schreiben, weil damit deine Programme etwas schneller laufen. Der Grund dafür ist, dass WinNT basierende Systeme intern alles in Unicode handhaben. Wenn du ASCII verwendest konvertiert Windows den String zuerst in Unicode bevor er damit arbeitet. Wenn du bestimmte Makros verwendest, kannst du dein Programm auch durch eine einzige Einstellungsänderung in ASCII kompilieren.



  • Dankeschön für die schnellen Antworten 🙂
    Echt tolles Forum 🙂


Anmelden zum Antworten