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. Weird behavior of QProcess and multiple qoutes
Forum Updated to NodeBB v4.3 + New Features

Weird behavior of QProcess and multiple qoutes

Scheduled Pinned Locked Moved Solved General and Desktop
36 Posts 7 Posters 6.4k Views 2 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.
  • Christian EhrlicherC Offline
    Christian EhrlicherC Offline
    Christian Ehrlicher
    Lifetime Qt Champion
    wrote on last edited by Christian Ehrlicher
    #17

    Again: there is no need to quote an argument when using QProcess::start() with QStringList - they are only needed on the command line so bash/cmd.exe/whatever knows what a single argument is! Your ssid is hima24g and not "hima24g" or 'hima24g' ... or?

    Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
    Visit the Qt Academy at https://academy.qt.io/catalog

    1 Reply Last reply
    3
    • G Offline
      G Offline
      Guanhong
      wrote on last edited by
      #18

      @Christian-Ehrlicher
      Even if there are single quotes and double quotes in the command, is there no need to add quotes? I looked at earlier replies, it seems that quotes are need.

      I just removed quotes and changed my codes to
      arguments << "-i" << "wlan0" << "set_network" << "0"<< "ssid" << strSSID ;
      FAILed too.

      jsulmJ 1 Reply Last reply
      0
      • G Guanhong

        @Christian-Ehrlicher
        Even if there are single quotes and double quotes in the command, is there no need to add quotes? I looked at earlier replies, it seems that quotes are need.

        I just removed quotes and changed my codes to
        arguments << "-i" << "wlan0" << "set_network" << "0"<< "ssid" << strSSID ;
        FAILed too.

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

        @Guanhong Then add proper error handling and also read from std error of your process to see whether it prints any errors.

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

        G 1 Reply Last reply
        2
        • jsulmJ jsulm

          @Guanhong Then add proper error handling and also read from std error of your process to see whether it prints any errors.

          G Offline
          G Offline
          Guanhong
          wrote on last edited by
          #20

          @jsulm
          QString strResult4 = prcsWlan4.readAllStandardOutput();
          strResult4 is FAIL

          jsulmJ 1 Reply Last reply
          0
          • G Guanhong

            @jsulm
            QString strResult4 = prcsWlan4.readAllStandardOutput();
            strResult4 is FAIL

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

            @Guanhong said in Weird behavior of QProcess and multiple qoutes:

            readAllStandardOutput()

            I was talking about std ERROR (https://doc.qt.io/qt-5/qprocess.html#readAllStandardError)...

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

            1 Reply Last reply
            0
            • Christian EhrlicherC Offline
              Christian EhrlicherC Offline
              Christian Ehrlicher
              Lifetime Qt Champion
              wrote on last edited by
              #22

              Please run it on the command line. Maybe you don't have the proper privileges.

              Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
              Visit the Qt Academy at https://academy.qt.io/catalog

              G 1 Reply Last reply
              0
              • Christian EhrlicherC Christian Ehrlicher

                Please run it on the command line. Maybe you don't have the proper privileges.

                G Offline
                G Offline
                Guanhong
                wrote on last edited by
                #23

                @Christian-Ehrlicher
                I have run it on the command line, it is no problem.

                Christian EhrlicherC 1 Reply Last reply
                0
                • G Guanhong

                  @Christian-Ehrlicher
                  I have run it on the command line, it is no problem.

                  Christian EhrlicherC Offline
                  Christian EhrlicherC Offline
                  Christian Ehrlicher
                  Lifetime Qt Champion
                  wrote on last edited by
                  #24

                  @Guanhong Please show how you run it on the command line

                  Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
                  Visit the Qt Academy at https://academy.qt.io/catalog

                  1 Reply Last reply
                  0
                  • G Offline
                    G Offline
                    Guanhong
                    wrote on last edited by
                    #25

                    @Guanhong said in Weird behavior of QProcess and multiple qoutes:

                    <

                    wpa_cli -i wlan0 set_network 1 ssid '"hima24g"'
                    I run it on an Ubuntu console, and it can run successfully

                    jsulmJ Christian EhrlicherC 2 Replies Last reply
                    0
                    • G Guanhong

                      @Guanhong said in Weird behavior of QProcess and multiple qoutes:

                      <

                      wpa_cli -i wlan0 set_network 1 ssid '"hima24g"'
                      I run it on an Ubuntu console, and it can run successfully

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

                      @Guanhong said in Weird behavior of QProcess and multiple qoutes:

                      wpa_cli -i wlan0 set_network 1 ssid '"hima24g"'

                      wpa_cli -i wlan0 set_network 1 ssid hima24g
                      

                      should work just as good

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

                      1 Reply Last reply
                      0
                      • G Guanhong

                        @Guanhong said in Weird behavior of QProcess and multiple qoutes:

                        <

                        wpa_cli -i wlan0 set_network 1 ssid '"hima24g"'
                        I run it on an Ubuntu console, and it can run successfully

                        Christian EhrlicherC Offline
                        Christian EhrlicherC Offline
                        Christian Ehrlicher
                        Lifetime Qt Champion
                        wrote on last edited by
                        #27

                        set_network 1

                        is not

                        "set_network" << "0"

                        Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
                        Visit the Qt Academy at https://academy.qt.io/catalog

                        1 Reply Last reply
                        1
                        • G Offline
                          G Offline
                          Guanhong
                          wrote on last edited by
                          #28

                          wpa_cli -i wlan0 set_network 1 ssid hima24g
                          without quotes, it does not work on my console.

                          set_network 1 or set_network 0 does not matter.
                          It depends.

                          jsulmJ 1 Reply Last reply
                          0
                          • G Guanhong

                            wpa_cli -i wlan0 set_network 1 ssid hima24g
                            without quotes, it does not work on my console.

                            set_network 1 or set_network 0 does not matter.
                            It depends.

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

                            @Guanhong So, did you try to print out https://doc.qt.io/qt-5/qprocess.html#readAllStandardError ?

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

                            1 Reply Last reply
                            0
                            • Christian EhrlicherC Offline
                              Christian EhrlicherC Offline
                              Christian Ehrlicher
                              Lifetime Qt Champion
                              wrote on last edited by
                              #30

                              Looks like wpa_cli really needs additional double quotes... strange and weird program (see google for a lot of confusion due to this behavior).
                              So it must be

                              arguments << "-i" << "wlan0" << "set_network" << "0"<< "ssid" << "\"" + strSSID + "\"";
                              

                              Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
                              Visit the Qt Academy at https://academy.qt.io/catalog

                              G 1 Reply Last reply
                              2
                              • Christian EhrlicherC Christian Ehrlicher

                                Looks like wpa_cli really needs additional double quotes... strange and weird program (see google for a lot of confusion due to this behavior).
                                So it must be

                                arguments << "-i" << "wlan0" << "set_network" << "0"<< "ssid" << "\"" + strSSID + "\"";
                                
                                G Offline
                                G Offline
                                Guanhong
                                wrote on last edited by Guanhong
                                #31

                                @Christian-Ehrlicher
                                this command includes not only double quotes but also single quotes outside. Can QProcess handle it?

                                1 Reply Last reply
                                0
                                • Christian EhrlicherC Offline
                                  Christian EhrlicherC Offline
                                  Christian Ehrlicher
                                  Lifetime Qt Champion
                                  wrote on last edited by
                                  #32

                                  The outer quotes are only needed so the inner ones are not removed by the shell.

                                  Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
                                  Visit the Qt Academy at https://academy.qt.io/catalog

                                  G 1 Reply Last reply
                                  1
                                  • Christian EhrlicherC Christian Ehrlicher

                                    The outer quotes are only needed so the inner ones are not removed by the shell.

                                    G Offline
                                    G Offline
                                    Guanhong
                                    wrote on last edited by
                                    #33

                                    @Christian-Ehrlicher
                                    I don't think so. both quotes are necessary, without either, the command doesn't work on command line.

                                    JonBJ Christian EhrlicherC 2 Replies Last reply
                                    0
                                    • G Guanhong

                                      @Christian-Ehrlicher
                                      I don't think so. both quotes are necessary, without either, the command doesn't work on command line.

                                      JonBJ Offline
                                      JonBJ Offline
                                      JonB
                                      wrote on last edited by JonB
                                      #34

                                      @Guanhong
                                      Do you understand that, certainly quote-wise, what you type into a shell/command-line is not the same as what you would put into the QStringList for the arguments to QProcess::start()?

                                      Meanwhile if you helped us by using the forum's Code toolbutton around what you are entering on the command-line it would be a lot easier to read/understand.

                                      1 Reply Last reply
                                      0
                                      • G Guanhong

                                        @Christian-Ehrlicher
                                        I don't think so. both quotes are necessary, without either, the command doesn't work on command line.

                                        Christian EhrlicherC Offline
                                        Christian EhrlicherC Offline
                                        Christian Ehrlicher
                                        Lifetime Qt Champion
                                        wrote on last edited by
                                        #35

                                        @Guanhong said in Weird behavior of QProcess and multiple qoutes:

                                        I don't think so. both quotes are necessary, without either, the command doesn't work on command line.

                                        I'm giving up.... don't know how often I must explain that your shell/command line removes the outer quotes...

                                        Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
                                        Visit the Qt Academy at https://academy.qt.io/catalog

                                        G 1 Reply Last reply
                                        3
                                        • Christian EhrlicherC Christian Ehrlicher

                                          @Guanhong said in Weird behavior of QProcess and multiple qoutes:

                                          I don't think so. both quotes are necessary, without either, the command doesn't work on command line.

                                          I'm giving up.... don't know how often I must explain that your shell/command line removes the outer quotes...

                                          G Offline
                                          G Offline
                                          Guanhong
                                          wrote on last edited by
                                          #36

                                          @Christian-Ehrlicher
                                          thank you very much ,
                                          arguments << "-i" << "wlan0" << "set_network" << "0"<< "ssid" << """ + strSSID + """;
                                          works.

                                          sorry for my poor understanding.

                                          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