Heim  >  Artikel  >  Backend-Entwicklung  >  Wie konvertiere ich einen QString in einen std::string in Qt?

Wie konvertiere ich einen QString in einen std::string in Qt?

Linda Hamilton
Linda HamiltonOriginal
2024-10-31 07:48:30506Durchsuche

 How to Convert a QString to a std::string in Qt?

QString in std::string konvertieren

In der Qt-Programmierung ist es üblich, mit QString-Objekten für die Verarbeitung von Textdaten zu arbeiten. Gelegentlich müssen Sie jedoch möglicherweise einen QString in den Standard-C-String-Typ std::string konvertieren.

Methode: Verwendung von toStdString()

Die einfachste und unkomplizierteste Möglichkeit, einen QString zu konvertieren zu einem std::string ist die toStdString()-Methode zu verwenden:

<code class="cpp">QString qs;
// Perform operations on the QString...
std::string stdStr = qs.toStdString();
std::cout << stdStr << std::endl;

Standardmäßig verwendet toStdString() intern die QString::toUtf8()-Funktion zum Erstellen des std::string. Dadurch wird sichergestellt, dass die Konvertierung Unicode-sicher ist und Nicht-ASCII-Zeichen korrekt verarbeitet.

Beispiel

Hier ist ein Beispiel, das die Verwendung von toStdString() demonstriert:

<code class="cpp">#include <QString>
#include <iostream>

int main()
{
    QString str = "Hello, world!";

    // Convert QString to std::string
    std::string output = str.toStdString();

    // Output the std::string to the console
    std::cout << output << std::endl;

    return 0;
}</code>

Wenn Sie dieses Programm ausführen, wird Folgendes gedruckt:

Hello, world!

Zusätzlich Hinweise

  • Die toStdString()-Methode ist für die Verwendung mit Qt-Versionen 5 und höher verfügbar.
  • Wenn Sie einen std::string zurück in einen QString konvertieren müssen, können Sie ihn verwenden die QString::fromStdString()-Methode.

Das obige ist der detaillierte Inhalt vonWie konvertiere ich einen QString in einen std::string in Qt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn