Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menukar QString kepada std::string dalam Qt?

Bagaimana untuk Menukar QString kepada std::string dalam Qt?

Linda Hamilton
Linda Hamiltonasal
2024-10-31 07:48:30506semak imbas

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

Menukar QString kepada std::string

Dalam pengaturcaraan Qt, adalah perkara biasa untuk bekerja dengan objek QString untuk mengendalikan data teks. Walau bagaimanapun, kadangkala anda mungkin perlu menukar QString kepada jenis rentetan C standard, std::string.

Kaedah: Menggunakan toStdString()

Cara paling mudah dan paling mudah untuk menukar QString kepada std::string ialah menggunakan kaedah toStdString():

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

Secara lalai, toStdString() secara dalaman menggunakan fungsi QString::toUtf8() untuk mencipta std::string. Ini memastikan penukaran Unicode-selamat, mengendalikan aksara bukan ASCII dengan betul.

Contoh

Berikut ialah contoh yang menunjukkan penggunaan toStdString():

<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>

Menjalankan program ini akan mencetak:

Hello, world!

Nota Tambahan

  • Kaedah toStdString() tersedia untuk digunakan dengan Qt versi 5 dan lebih baru.
  • Jika anda perlu menukar std::string kembali kepada QString, anda boleh menggunakan kaedah QString::fromStdString().

Atas ialah kandungan terperinci Bagaimana untuk Menukar QString kepada std::string dalam Qt?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn