我必須從我的C程序中更改工作目錄。爲此,我使用了以下命令: execl("/bin/cd","cd","..",(char*)0);
但這個命令是不是改變目錄? 這個命令有什麼問題,或者有沒有其他方法可以從C程序中更改工作目錄?如何使用C程序中的exec命令更改目錄?
1
A
回答
1
您需要使用chdir
系統調用來更改調用進程的工作目錄。
10
要改變你應該使用chdir
當前目錄:
int chdir(const char *path);
如果成功則返回0
你不能有以下幾個原因使用EXECL:
cd
一般貝殼內建命令;- 在大多數系統上
/bin/cd
不存在;在具有它的極少數系統上,它會更改當前目錄,然後生成子shell進程; - 當前目錄是一個進程的屬性:如果您使用
/bin/cd
更改當前目錄,則在進程終止後立即丟失目錄更改; - 如果您使用
exec
系列的功能,則當前過程映像會被替換爲新的過程映像 - 您可以使用system
,但不能解決前面的3個問題。
2
相關問題
- 1. 使用系統命令從windows下的c程序中更改目錄
- 2. 用於更改命令提示符目錄的Java程序
- 3. 如何使用Windows命令行更改目錄
- 4. 如何在linux中使用exec命令使用wget命令?
- 5. 如何更改目錄並在該目錄上運行命令?
- 6. 如何在php中使用exec命令編譯和運行c程序?
- 7. 如何使用C#在命令提示符下更改目錄位置?
- 8. 如何更改Ant的fileset命令的目標目錄?
- 9. 無法使用cd命令更改Drush(win7)中的目錄
- 10. 如何在Clojure的命令行中更改目錄?
- 11. 如何從命令行更改Linux/Unix中的目錄結構?
- 12. 如何在Linux中更改其安裝目錄的命令?
- 13. 使用exec更改C中的權限()
- 14. Docker exec命令不使用掛載的目錄/
- 15. 使用C#程序如何執行命令提示符命令
- 16. 如何使用C程序在命令propmt上傳遞命令?
- 17. C#使用「EXEC」命令打印變量
- 18. 如何使用exec()命令運行a.out
- 19. 更改目錄和AppleScript終端命令
- 20. 泊塢窗:更改目錄命令
- 21. 更改目錄命令提示符
- 22. Unix命令來更改目錄名稱
- 23. 如何使用環境變量在c程序中更改目錄?
- 24. 如何更改項目中使用CLI命令GCP
- 25. 帶命令行應用程序的MacOSX C++工作目錄
- 26. Bash-如何更改命令的默認目錄
- 27. 如何更改虛擬url中的應用程序根目錄
- 28. 更改目錄並使用#!bin/bash文件運行命令
- 29. 如何正確使用Unix exec C(++) - 命令?
- 30. python subprocess - 如何更改目錄運行命令?
這不回答這個問題。有些課堂作業有嚴格的規定,你需要使用exec而不是chdir。 – User 2015-03-16 04:29:25
然後,某些類別分配具有與POSIX標準互斥的嚴格規則。 – 2015-03-18 00:47:01