[問題] 讀取terminal的指令

看板C_and_CPP (C/C++)作者 (brilliant)時間9年前 (2017/04/03 11:28), 編輯推噓6(6017)
留言23則, 7人參與, 最新討論串1/1
開發平台(Platform): Linux 編譯器: codeblocks 問題(Question): 我需要用程式fork一個child process parent 和child各開啟一個terminal 並且讓使用者在這兩個terminal輸入字串 然後用pipe的方式傳遞兩個terminal上的字串 目前我可以成功做到前兩行及pipe 但不知道該如何input/output字串在terminal上 有試過請教google大神,但好像因為關鍵字下不對查不到相關的資料 希望大大能提供我想法,感謝 我真的是新手... 程式碼(Code):(請善用置底文網頁, 記得排版) int main(void){ system("gnome-terminal"); pid_t pid=fprk(); if(pid<0){ cout<<"failed to fork"; }else if(pid==0){ //... }else{ //... } return 0; } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.169.88.99 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1491190119.A.D76.html

04/03 13:08, , 1F
int main(int argc char *argv[])
04/03 13:08, 1F

04/03 13:08, , 2F
main 的參數是用來接受終端輸入的 例如 ./main.out -a
04/03 13:08, 2F

04/03 13:08, , 3F
123456 這樣 程式裡面就會接收到兩個字串 分別是 arg
04/03 13:08, 3F

04/03 13:08, , 4F
v[0] = "-a" 以及 argv[1] = "123456" 並且 argc = 2
04/03 13:08, 4F

04/03 13:08, , 5F
(參數數量)
04/03 13:08, 5F

04/03 13:08, , 6F
不知道這樣有沒有幫助到你
04/03 13:08, 6F

04/03 13:10, , 7F
手機推文自動斷行了Orz
04/03 13:10, 7F

04/03 14:20, , 8F
抱歉我修正一下 argv[0] 應該會是 "./main.out" 後面
04/03 14:20, 8F

04/03 14:20, , 9F
兩個(argv[1&2])依序才是上述 然後 argc 是 3
04/03 14:20, 9F

04/03 17:50, , 10F
我覺得原po要的是打開後通訊 不是啟動參數
04/03 17:50, 10F

04/03 18:46, , 11F
是的,是j大說的,不過也感謝t大的指教
04/03 18:46, 11F

04/04 01:36, , 12F
記得是 pip 才可以互傳,不過忘記用法了~搜看看
04/04 01:36, 12F

04/04 01:39, , 13F
兩個要是父子,如果是子子,好像要父當中介轉發
04/04 01:39, 13F

04/04 10:28, , 14F
或許你需要一個pseudoterminal?
04/04 10:28, 14F

04/04 13:00, , 15F
去找找看 "popen redirect" 的資料,應該會有你要的
04/04 13:00, 15F

04/04 13:09, , 16F
"popen stdin stdout process" 之類的也能找找看
04/04 13:09, 16F

04/04 21:38, , 17F
你是要開2個terminal 然後A打字可以傳到B上 反之亦然嗎?
04/04 21:38, 17F

04/04 21:40, , 18F
要顯示在螢幕上的話 可以用dup2()試試看
04/04 21:40, 18F

04/05 19:19, , 19F
S大,你說的沒錯,但我現在好像卡在無法開兩個termina
04/05 19:19, 19F

04/05 19:19, , 20F
l
04/05 19:19, 20F

04/06 15:46, , 21F
開兩個terminal可以直接在linux上開 如果是兩個terminal要
04/06 15:46, 21F

04/06 15:46, , 22F
溝通 就我知道的方法是簡單的client/server程式
04/06 15:46, 22F

04/06 15:47, , 23F
這部分可能要查network/socket programming相關資料
04/06 15:47, 23F
文章代碼(AID): #1OuS5drs (C_and_CPP)
文章代碼(AID): #1OuS5drs (C_and_CPP)