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. copy unsigned char array into QByteArray ..... problems
Qt 6.11 is out! See what's new in the release blog

copy unsigned char array into QByteArray ..... problems

Scheduled Pinned Locked Moved Solved General and Desktop
16 Posts 4 Posters 10.9k 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.
  • jsulmJ jsulm

    @o6a6r9v1p Please read what @raven-worx wrote (hint: casting)

    O Offline
    O Offline
    o6a6r9v1p
    wrote on last edited by
    #7

    @jsulm
    hi,
    can we do it the way it is done C?
    or is it different in C++?

    I am not good in C++.

    Thanks.

    jsulmJ J.HilkJ 2 Replies Last reply
    0
    • O o6a6r9v1p

      @jsulm
      hi,
      can we do it the way it is done C?
      or is it different in C++?

      I am not good in C++.

      Thanks.

      jsulmJ Offline
      jsulmJ Offline
      jsulm
      Lifetime Qt Champion
      wrote on last edited by
      #8

      @o6a6r9v1p

      const qint64 bytesWritten = serPort->write(reinterpret_cast<char*>(wbuf)));
      

      https://forum.qt.io/topic/113070/qt-code-of-conduct

      O 1 Reply Last reply
      1
      • O o6a6r9v1p

        @jsulm
        hi,
        can we do it the way it is done C?
        or is it different in C++?

        I am not good in C++.

        Thanks.

        J.HilkJ Offline
        J.HilkJ Offline
        J.Hilk
        Moderators
        wrote on last edited by
        #9

        @o6a6r9v1p
        take a look here

        http://www.cplusplus.com/doc/tutorial/typecasting/

        you can use c-style casting, but you're encuraged to use the cpp variants


        Be aware of the Qt Code of Conduct, when posting : https://forum.qt.io/topic/113070/qt-code-of-conduct


        Q: What's that?
        A: It's blue light.
        Q: What does it do?
        A: It turns blue.

        1 Reply Last reply
        0
        • jsulmJ jsulm

          @o6a6r9v1p

          const qint64 bytesWritten = serPort->write(reinterpret_cast<char*>(wbuf)));
          
          O Offline
          O Offline
          o6a6r9v1p
          wrote on last edited by
          #10

          @jsulm
          hi,
          Thanks for the word. this line was used, think i am wrong some where.

          const qint64 bytesWritten = serPort->write(const QByteArray ((unsigned char*) wbuf));
          

          where did i miss?

          Thanks,

          jsulmJ 1 Reply Last reply
          0
          • O o6a6r9v1p

            @jsulm
            hi,
            Thanks for the word. this line was used, think i am wrong some where.

            const qint64 bytesWritten = serPort->write(const QByteArray ((unsigned char*) wbuf));
            

            where did i miss?

            Thanks,

            jsulmJ Offline
            jsulmJ Offline
            jsulm
            Lifetime Qt Champion
            wrote on last edited by jsulm
            #11

            @o6a6r9v1p Why do you create a byte array? @J-Hilk already said here that this is not needed.
            What is wrong in your code: remove the const before QByteArray. You should learn more about C++.

            https://forum.qt.io/topic/113070/qt-code-of-conduct

            O 2 Replies Last reply
            0
            • jsulmJ jsulm

              @o6a6r9v1p Why do you create a byte array? @J-Hilk already said here that this is not needed.
              What is wrong in your code: remove the const before QByteArray. You should learn more about C++.

              O Offline
              O Offline
              o6a6r9v1p
              wrote on last edited by
              #12

              @jsulm
              hi,
              sending data bytes in certain order.
              we use a structure of bytes.

              jsulmJ 1 Reply Last reply
              0
              • O o6a6r9v1p

                @jsulm
                hi,
                sending data bytes in certain order.
                we use a structure of bytes.

                jsulmJ Offline
                jsulmJ Offline
                jsulm
                Lifetime Qt Champion
                wrote on last edited by
                #13

                @o6a6r9v1p Again: there is NO need for QByteArray.
                This line should work as well, did you try?

                const qint64 bytesWritten = serPort->write(reinterpret_cast<char*>(wbuf)));
                

                https://forum.qt.io/topic/113070/qt-code-of-conduct

                O 1 Reply Last reply
                0
                • jsulmJ jsulm

                  @o6a6r9v1p Why do you create a byte array? @J-Hilk already said here that this is not needed.
                  What is wrong in your code: remove the const before QByteArray. You should learn more about C++.

                  O Offline
                  O Offline
                  o6a6r9v1p
                  wrote on last edited by
                  #14

                  @jsulm
                  removed const as told.
                  still i am getting:

                  invaild conversion from unsigned char* to const char* error.
                  

                  i know c programming, but not good in c++,

                  thanks,

                  jsulmJ 1 Reply Last reply
                  0
                  • O o6a6r9v1p

                    @jsulm
                    removed const as told.
                    still i am getting:

                    invaild conversion from unsigned char* to const char* error.
                    

                    i know c programming, but not good in c++,

                    thanks,

                    jsulmJ Offline
                    jsulmJ Offline
                    jsulm
                    Lifetime Qt Champion
                    wrote on last edited by
                    #15

                    @o6a6r9v1p You should read more carefully - I already showed you what you need to do.

                    1. Why do you want to use QByteArray? It is not needed. QByteArray does not care about any order - it is the order you give it.
                    2. You need to cast unsigned char* to char*. See my previous posts to see how, I don't want to write it again and again.

                    https://forum.qt.io/topic/113070/qt-code-of-conduct

                    1 Reply Last reply
                    2
                    • jsulmJ jsulm

                      @o6a6r9v1p Again: there is NO need for QByteArray.
                      This line should work as well, did you try?

                      const qint64 bytesWritten = serPort->write(reinterpret_cast<char*>(wbuf)));
                      
                      O Offline
                      O Offline
                      o6a6r9v1p
                      wrote on last edited by
                      #16

                      @jsulm
                      hi,
                      i under stood that line in wrongly. in the place of <char *>, i have used const QByteArray.
                      Now i got the point after going trough the type casting page, adviced by you.

                      Now it is working.
                      Thanks to all of you.

                      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