文字列を連結しようとしていますが、2/3
文字列はパスであり、で定義されています#define
例えば:
#define BASE_PATH "foo/bar"
#define BIN_PATH "baz/bin"
事前定義されたパスに直接移動できるようにしたい。ユースケースの例は、そのフォルダーの内容を表示することです。
char path_of_executable[256];
printf ("%s \n",executable);
snprintf(path_of_executable, sizeof 256, "%s,%s,%s",BASE_PATH,executable,BIN_PATH);
printf("%s \n",path_of_executable);
chdir(path_of_executable);
execlp("ls","ls","-l",NULL);
path_of_executable は次のように出力されます/fo
そのパスに移動することはできませんが、代わりに現在のフォルダー内のファイルが印刷されます。何が問題なのですか?