1. ホーム
  2. c

[解決済み] LinuxのPATH_MAXはどこで定義されていますか?

2022-03-02 19:27:43

質問

で呼び出すべきヘッダーファイルはどれですか? #include PATH_MAX を文字列のサイズ決定のための int として使用できるようにするには?

と宣言できるようにしたい。

char *current_path[PATH_MAX];

しかし、そうすると、私のコンパイラー(LinuxではClang/LLVM)は次のようなエラーを出します。

recursive_find6.c:29:20: error: use of undeclared identifier 'PATH_MAX'
char *current_path[PATH_MAX];
                   ^

googleで検索してみましたが、やはりダメでした。

#include <limits.h> 問題/エラーは修正されません。

また、PATH_MAXの値はint型でよいのでしょうか?

どのように解決するのですか?

その内容は linux/limits.h .
#define PATH_MAX 4096 /* # chars in a path name including nul */

#include <linux/limits.h>

char current_path[PATH_MAX];

PATH_MAX にはいくつかの欠点があります。 このブログ (paulsm4さんありがとうございます)