2011-08-17 67 views
1

我在目錄中/home/destination我需要回到/home目錄。有關如何使用C程序來實現這一點的任何想法?使用C程序在Linux中返回到上一個目錄

+0

您是否在尋找一個C程序,您可以從命令行調用和設置當前目錄?或者你想在C程序中設置當前目錄? – Giorgio

+0

你在殼? –

+0

我需要一個運行在命令行中的c程序並更改當前的directoy – David

回答

3

程序只能改變自己的環境。因此,該程序可以chdir,但它不會更改父級的當前目錄。這就是爲什麼cd不能作爲外部命令實現。

+0

所以沒有辦法改變父目錄。我們只能在節目的環境中前進後退 – David

+0

@David好了:-) – cnicutar

4

可以使用chdir功能如下:

chdir(".."); /* change current working directory, go one level up */ 
0

如果你想升級 chdir("..");將做的工作。但是,如果你想有一個像cd -行爲,則應該使用此代碼:

char *prev; 
prev = getcwd(prev, 0); /*POSIX.1-2001: will malloc enough memory*/ 
/*fail if prev is NULL, do something*/ 
chdir(prev); 
free(prev); 
相關問題