基本的に、応答が現在の作業ディレクトリに依存する if ステートメントが必要です。
このトピックについていくつかの調査を行いましたが、getcwd()
関数が探しているものであると信じていますが、if ステートメントでそれとやり取りする方法がわかりません。
私はCを初めて使用します。作成しているプログラムは、適切に実行するためにデスクトップ(UNIXシステムではあります)に配置する必要があり、ifステートメントは、デスクトップに配置されているかどうかを判断する必要があります。
それは私のために働く次のコードはどうですかubuntu
-
#include <stdlib.h>
#include <unistd.h>
#include <limits.h>
int main( void ){
char* cwd;
char buff[PATH_MAX + 1];
cwd = getcwd( buff, PATH_MAX + 1 );
if( cwd != NULL ) {
printf( "My working directory is %s.\n", cwd );
if(strcmp("/home/razib/Desktop", cwd) == 0) {
printf("I'm in Desktop now\n");
}
}
return EXIT_SUCCESS;
}
ここでは、getcwd()
メソッド aを提供する必要がありますbuff[]
。はbuff[]
size で宣言できますPATH_MAX+1
。PATH_MAX
で見つけることができますlimits.h
。
それがあなたを助けることを願っています。
どうもありがとう。