我懷疑如何在C中執行一個exec任務。應該如何傳遞參數(例如:3,+,2)?它會用於管道嗎?或者由argv儘管是int?而且,如果這個執行是由孩子拋出的,那麼父母是否會從管道中讀取該值? 謝謝!execvp(「/ usr/bin/bc」,arg,env)
-1
A
回答
0
相關問題
- 1. 等效的--env文件爲build-arg?
- 2. execvp()
- 3. ARG或ENV,在這種情況下使用哪一個?
- 4. Dockerfile中的shell表達式的缺省值ARG和ENV
- 5. execvp如何運行命令?
- 6. 差(ARG)和obj.func.bind(OBJ,ARG)
- 7. 從ARGV到execvp
- 8. execvp參數
- 9. execvp段錯誤
- 10. 執行與execvp
- 11. fork()和execvp()
- 12. 如何在單行上輸出execvp?
- 13. 如何使execvp()處理多個參數?
- 14. -exec arg
- 15. freopen和execvp in c
- 16. 與execvp()有問題
- 17. 從execvp段錯誤
- 18. std :: string - > execvp等
- 19. 使用貓和execvp
- 20. 陣營ENV變量與.ENV
- 21. execvp:錯誤的地址錯誤
- 22. 使用execv()和PATH env變量
- 23. 使用fork製作簡單的unix外殼,execvp
- 24. 與execvp錯誤的地址錯誤
- 25. javax.tools.JavaCompiler「arguments」arg
- 26. 從c中的char數組向execvp添加參數
- 27. execvp叉:等待標準輸出
- 28. 在execvp節點-GYP配置錯誤()
- 29. C - execvp()進程間通信
- 30. C - execvp()第二個參數
由於'bc'需要文件名作爲參數,你要麼必須爲'3 + 2'安排發送到它的標準輸入(pipe?),或者將'3 + 2'寫入文件並告訴'bc'處理文件(並在稍後刪除文件)。 'execvp()'系統調用只需要兩個參數,通常是'execvp(argv [0],argv)',用於某些以NULL結尾的字符串向量。 'argv [0]'的值將是'bc' - 如果指定了路徑,那麼使用'execvp()'而不是'execv()'沒有意義。 –
非常感謝! 我把這個: sprintf(str1,「%d」,num1); \t \t sprintf(strop,「%d」,operando); \t \t sprintf(str2,「%d」,num2); \t \t strcat(str,str1); \t \t strcat(str,strop); \t \t strcat(str,str2); \t \t char * argumentsos [] = {「bc」,str}; \t \t execvp(「/ usr/bin/bc」,argumentsos); 會嗎?在我嘗試通過一個管道的值3 + 2之前,我還嘗試創建一個輔助文件,在那裏我寫了3 + 2並將該文件傳遞給了BC的執行程序....在任何情況下,我都設法恢復父級結果的值。有任何想法嗎?謝謝。 – ssuarez
@ssuarez:在這個頁面的右邊,你會看到一個標有**「Related」**的部分,你可能會發現這個[question](https://stackoverflow.com/questions/40995172 /寫入-A-術語到BC-通管式-C)。查看接受的答案。查看相關問題總是很好:) – rici