當前位置:編程學習大全網 - 編程軟體 - arm上的QT用qprocess調用外部程序(linphone),但是這個程序的運行需要在命令行裏輸入命令才能實現。

arm上的QT用qprocess調用外部程序(linphone),但是這個程序的運行需要在命令行裏輸入命令才能實現。

妳這個需求可以使用popen()來實現。

FILE * file = popen("/linphonec", "w");

...

fwrite("call xxxx\r\n", 11, file);

fwrite("terminate\r\n", 11, file);

...

pclose(file);

妳可以在QT的按鈕slot裏向file寫入命令,這些命令就能傳到linphone的stdin。

這麽做的不足 1. popen只能打開單向管道 因此妳讀不到linphone的輸出結果。2. popen在較低版本的uclibc上不是thread safe的

變通的辦法是妳改壹下linphone,調用freopen來重定向自己的stdin和stdout

不過我覺得妳最好還是改改linphone,集成到妳的QT程序裏算了,也不麻煩

  • 上一篇:caxa制造工程師2022分模命令
  • 下一篇:壹個數據庫設計問題
  • copyright 2024編程學習大全網