Verschiedene Datentypen zu QString wandeln

Du bist neu in der Welt von C++? Dann schau hier herein!
Antworten
kekxdose
Beiträge: 1
Registriert: 16. August 2010 17:37

Verschiedene Datentypen zu QString wandeln

Beitrag von kekxdose »

Hi Folks,

erstmal ein grosses Lob an das Forum hier. Ich arbeite mich seit einiger Zeit in QT ein und habe hier so manchen Lösungsansatz gefunden.

Jetzt stehe ich aber vor einem Problem, zu dem ich nichts gefunden habe:

Ich habe ein Array, in dem Daten unterschiedlichen Datentypes stehen (int, char, ascii). Diese Daten will ich jetzt alle in QStrings wandeln...

Code: Alles auswählen

// Convert incoming data to QString
    for (int i = 1; i<=sizeof(INARRAY); i++)
    {
        if (INARRAY[i] == /*int*/)
            {
                /*convert int to QString*/
            }
        else if (INARRAY[i] == /*char*/)
            {
            /*convert char to QString*/
            }
        else if (INARRAY[i] == /*Ascii*/)
            {
            /*convert Ascii to QString*/
            }        
    };
Gibt es denn eine Möglichkeit das jw. Arrayelement auf seinen Datentyp abzufragen?

Vielen Dank für die Antwort(en)...
Das Leben ist eins der härtesten
Nvidia
Beiträge: 238
Registriert: 22. Februar 2010 21:23

Beitrag von Nvidia »

ich dachte ein array muss immer den selben Datentyp enthalten?
Exasperation
Beiträge: 186
Registriert: 11. März 2009 18:00
Wohnort: VS

Beitrag von Exasperation »

Nvidia hat geschrieben:ich dachte ein array muss immer den selben Datentyp enthalten?
QList<QVariant> / QLinkedList<QVariant> / QVector<QVariant>



Was für ein Array hast du denn?
Also wenn du nen QVector oder ne QList hast die QVariant enthalten dann bekommst du den Datentyp über QVariant::typeName() (als const char*) oder als MetaType mit QVariant::userType() für selbstdefinierte Datentypen bzw. ansonsten QVariant::type(). (abgleichen über int, siehe Tabelle)

edit: Meinen Post kannst du getrost ignorieren. Da du im C++-Grundlagen Thread gefragt hast, wirst du wohl kein Qt-Array verwenden.. Sry ;)
Antworten