Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. how to convert QString to const char* (utf8)
Forum Updated to NodeBB v4.3 + New Features

how to convert QString to const char* (utf8)

Scheduled Pinned Locked Moved General and Desktop
22 Posts 4 Posters 17.1k Views 3 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • O opengpu2

    @SGaist i need to convert with each other...thank you

    O Offline
    O Offline
    opengpu2
    wrote on last edited by
    #13
    This post is deleted!
    1 Reply Last reply
    0
    • joaopagottoJ Offline
      joaopagottoJ Offline
      joaopagotto
      wrote on last edited by
      #14

      //----------------------------
      // QString to *char

      QString aux;
      aux.append("aa");
      aux.append("bb");

      char *texto;
      texto = aux.toStdString().c_str();

      //----------------------------
      // *char to QString

      char text[64];
      strcpy(text, "text123");

      QString aux;
      aux.append(text);

      1 Reply Last reply
      0
      • SGaistS Offline
        SGaistS Offline
        SGaist
        Lifetime Qt Champion
        wrote on last edited by
        #15

        @joaopagotto where is the utf-8 handling ?

        Interested in AI ? www.idiap.ch
        Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

        O 1 Reply Last reply
        0
        • SGaistS SGaist

          @joaopagotto where is the utf-8 handling ?

          O Offline
          O Offline
          opengpu2
          wrote on last edited by opengpu2
          #16

          @SGaist QString::fromUtf8((const char*)xxx); is this correct ? thank you..

          1 Reply Last reply
          0
          • SGaistS Offline
            SGaistS Offline
            SGaist
            Lifetime Qt Champion
            wrote on last edited by
            #17

            Again, what is xxx ?

            Interested in AI ? www.idiap.ch
            Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

            O 1 Reply Last reply
            0
            • SGaistS SGaist

              Again, what is xxx ?

              O Offline
              O Offline
              opengpu2
              wrote on last edited by
              #18

              @SGaist it's const char* in utf8...eg. the const char* that converted from QString above...
              thank you

              1 Reply Last reply
              0
              • SGaistS SGaist

                Hi,

                It should rather be:

                QString myString("foo/bar");
                QByteArray inUtf8 = myString.toUtf8();
                const char *data = inUtf8.constData();
                

                Because

                const char *data = myString.toUtf8().constData();
                on the next line the QByteArray returned by toUtf8 has been destroyed
                
                O Offline
                O Offline
                opengpu2
                wrote on last edited by
                #19

                @SGaist
                Hi,

                It should rather be:

                QString myString("foo/bar");
                QByteArray inUtf8 = myString.toUtf8();
                const char *data = inUtf8.constData();

                Because

                const char *data = myString.toUtf8().constData();
                on the next line the QByteArray returned by toUtf8 has been destroyed

                //////////////////////////////////////
                if as a function param, is this right?
                void function(myString.toUtf8().constData()) {}

                1 Reply Last reply
                0
                • SGaistS Offline
                  SGaistS Offline
                  SGaist
                  Lifetime Qt Champion
                  wrote on last edited by
                  #20

                  void function(myString.toUtf8().constData()) {} ?

                  It's not a valid function signature

                  Interested in AI ? www.idiap.ch
                  Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                  O 1 Reply Last reply
                  0
                  • SGaistS SGaist

                    void function(myString.toUtf8().constData()) {} ?

                    It's not a valid function signature

                    O Offline
                    O Offline
                    opengpu2
                    wrote on last edited by
                    #21

                    @SGaist void func(const char* xxx);
                    func(myString.toUtf8().constData());

                    1 Reply Last reply
                    0
                    • SGaistS Offline
                      SGaistS Offline
                      SGaist
                      Lifetime Qt Champion
                      wrote on last edited by
                      #22

                      It will work, but it's not the best thing to do from a readability point of view.

                      Interested in AI ? www.idiap.ch
                      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                      1 Reply Last reply
                      0

                      • Login

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • Users
                      • Groups
                      • Search
                      • Get Qt Extensions
                      • Unsolved