2011-08-17 8 views
1

私はディレクトリにいます/home/destination私は/homeディレクトリに戻る必要があります。これをCプログラムを使って実装する方法に関するアイデアはありますか?あなたはこのためにchdir機能を使用することができますCのプログラムを使ってLinuxの前のディレクトリに戻る

+0

はあなたがコマンドラインから呼び出すことができ、それは、現在のディレクトリを設定し、Cプログラムを探している:あなたはcd -のような振る舞いを持っているしたい場合はしかし、その後、あなたはこのコードを使用する必要がありますか?または、Cプログラム内の現在のディレクトリを設定したいですか? – Giorgio

+0

あなたはシェルにいますか? –

+0

コマンドラインでcプログラムを実行して現在のdirectoyを変更する必要があります – David

答えて

3

プログラムは、独自の環境を変更することができます。したがって、プログラムはchdirできますが、親の現在のディレクトリは変更されません。だから、cdを外部コマンドとして実装することはできません。

+0

ですので、親のディレクトリを変更する方法はありません。私たちはプログラムの環境の中で前進し、後退することができます – David

+0

@Davidよく置く:-) – cnicutar

4

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

レベルアップをご希望の場合は、 chdir("..");となります。

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