Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » GNU/Linux » Ansi-c++ String konvertieren zu Qstring

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
31.03.2003, 21:19 Uhr
~-CodeMaster-
Gast


Hi,
ich habe einen Ansi C++ String mit Hilfe der mit Visual C++ mitgelieferten Klasse string aus <string.h> erstellt. Diesen String wird durch eine Function zurückgegeben und soll in eienm QLineEdit dargestellt werden.
Leider ist das Format des Strings nicht kompatibel zum QString und der Kompiler gibt einen fehler aus.
Gibt es eine Function um Ansi C++ Strings in QStrings umzuwandeln, um sie in einem QLineEdit feld auszugeben?

mfg.
-CodeMaster-
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
01.04.2003, 10:18 Uhr
~0xdeadbeef
Gast


Visual C++? Ich dachte, das wäre ein Linux-Forum... Außerdem ist string eine Klasse aus der STL, die Teil des ISO-Standards ist. Nach Standard ist die in einer Datei namens "string" definiert, weil es eine string.h schon in C gab.

Was Qt angeht: QString hat sowohl einen Konstruktor, der einen std::string entgegennimmt, als auch einen operator=(std::string&. Beide legen eine Tiefenkopie des Strings an, Voraussetzung ist, dass das Makro QT_NO_STL _nicht_ definiert ist. Wenn du mal in die Sourcen (unter Linux normalerweise entweder in /usr/include/qt oder /usr/lib/qt/include) kuckst, wirst du solche Stellen finden:

C++:
#ifndef QT_NO_STL
    QString( const std::string& );                   // deep copy
#endif

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
01.04.2003, 14:19 Uhr
~-CodeMaster-
Gast


Kannst du mal ein beispiel machen?

#include <string>
#include <qstring.h>

.
.
.

string Test = "Hallo";

QString QTest = ??
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
01.04.2003, 14:25 Uhr
~-CodeMaster-
Gast


Ps benutze version 2.3 von qt

mfg
-CodeMaster-
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
01.04.2003, 14:50 Uhr
~0xdeadbeef
Gast


Ich hab hier nur qt-3.1.2, aber ich bin der Meinung, dass das auch mit qt2 so gehen sollte:

C++:
std::string str = "Hello, World!";
QString q = str;

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
01.04.2003, 21:13 Uhr
~-CodeMaster-
Gast


HAt leider net gefuntzt, habe aber jetzt ne andere Möglichkeit gefunden:

string Hallo = "Hallo";
QString = Hallo.c_str();

So funtzt es
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ GNU/Linux ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: