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. [SOLVED]How to store short in a QByteArray?
Qt 6.11 is out! See what's new in the release blog

[SOLVED]How to store short in a QByteArray?

Scheduled Pinned Locked Moved General and Desktop
13 Posts 4 Posters 11.8k Views 1 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.
  • ? Offline
    ? Offline
    A Former User
    wrote on last edited by
    #1

    Hi,

    I am having a vector of 'short' and i want to convert these 'short' into 'char', so as to be able to store them in a QByteArray.

    I am doing these because, i want to playback this data from the output device wich accept only QByteArray.

    Please help me to solve this issue.

    Thanx in advance.

    1 Reply Last reply
    0
    • ? Offline
      ? Offline
      A Former User
      wrote on last edited by
      #2

      convert the short to a const char * and store it in your QByteArray
      all the best

      1 Reply Last reply
      0
      • Q Offline
        Q Offline
        qxoz
        wrote on last edited by
        #3

        Something like this
        @QByteArray ba((const char*)&crc, sizeof(ushort));@

        1 Reply Last reply
        0
        • ? Offline
          ? Offline
          A Former User
          wrote on last edited by
          #4

          @qxoz, thanx for your reply.
          i will try this and let u know.
          thnx again.

          1 Reply Last reply
          0
          • ? Offline
            ? Offline
            A Former User
            wrote on last edited by
            #5

            hey i tried this...

            @QByteArray ba((const char*)m_output.data(), sizeof(ushort));
            playbackBuffer.append(ba);@

            but i got this error...

            error: passing 'const QByteArray' as 'this' argument of 'QByteArray& QByteArray::append(const QByteArray&)' discards qualifiers [-fpermissive]

            and one thing my "playbackBuffer" is of type const QByteArray.

            1 Reply Last reply
            0
            • ? Offline
              ? Offline
              A Former User
              wrote on last edited by
              #6

              Ubuntu? add fpermissive to project CFLAGS:
              @QMAKE_CXXFLAGS = -fpermissive@
              don't forget to run qmake after editing .pro file

              1 Reply Last reply
              0
              • ? Offline
                ? Offline
                A Former User
                wrote on last edited by
                #7

                hey thanx for ur reply..

                but i dont want to use this flag, basically this flag is going to suppress the error which m getting and i want to fix my code.

                please help me with this..

                1 Reply Last reply
                0
                • ? Offline
                  ? Offline
                  A Former User
                  wrote on last edited by
                  #8

                  this is not error, it's a warning... calling const instance functions is ok, but dangerous if you don't exactly know what are you doing, thats because gcc warns you about that.
                  Ubuntu patched gcc has been modified to treat this warning as error... So, you will be just warned with vanilla gcc and compilation will success. It's all on you how to fix this issue...

                  1 Reply Last reply
                  0
                  • ? Offline
                    ? Offline
                    A Former User
                    wrote on last edited by
                    #9

                    so long the “playbackBuffer” is of type const QByteArray, you will getting this warning.

                    1 Reply Last reply
                    0
                    • ? Offline
                      ? Offline
                      A Former User
                      wrote on last edited by
                      #10

                      but i am getting this as an error not warning..
                      so how do i fix it.

                      1 Reply Last reply
                      0
                      • ? Offline
                        ? Offline
                        A Former User
                        wrote on last edited by
                        #11

                        I've told you

                        bq. Ubuntu patched gcc has been modified to treat this warning as error…

                        add
                        @QMAKE_CXXFLAGS = -fpermissive@
                        to project file or redesign your code...

                        1 Reply Last reply
                        0
                        • ? Offline
                          ? Offline
                          A Former User
                          wrote on last edited by
                          #12

                          hey thanx for the precious time u gave for my error...

                          but i made it work without setting the flag....

                          like this...

                          @const QByteArray ba((const char*)m_output.data(), sizeof(ushort));
                          const_cast<QByteArray &>(playbackBuffer).append(ba);
                          @

                          thanx once again...

                          [EDIT: code formatting, Volker]

                          1 Reply Last reply
                          0
                          • ? Offline
                            ? Offline
                            A Former User
                            wrote on last edited by
                            #13

                            @QByteArray ba((const char*)m_output.data(), sizeof(ushort));
                            const_cast<QByteArray &>(playbackBuffer).append(ba);@

                            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