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
Forum Updated to NodeBB v4.3 + New Features

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

Scheduled Pinned Locked Moved Solved General and Desktop
16 Posts 4 Posters 6.6k 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