GNU/Linux >> Linux の 問題 >  >> Linux

nftw での警告

うーん。あなたのコードは私のために働きます。インクルードパスを確認してください。これはシステム ヘッダーですが、これを見逃すのはかなり難しいはずです。または、誤って #include <ftw.h> を持たないバージョンをコンパイルしたのですか? 行?

$ gcc -o ftw ftw.c
$ ./ftw my-directory
File 10
File 11
File 16
File 16
File 16
File 16
File 16
... etc ...

編集 :上記のテストは Mac OS X で行われました。(現在は削除された) コメントで、OP は Debian を使用していると述べており、man ページには #define _XOPEN_SOURCE 500 と記載されています Juliano が指摘するように、必要です。


Linux は、何らかの理由で、まだこの API に SUSv1 を使用しており、nftw() は依然として拡張機能と見なされています。

Linux のマニュアル ページから、インクルードは次のようにする必要があります:

#define _XOPEN_SOURCE 500
#include <ftw.h>

Linux
  1. lsの使用を開始する

  2. ファイルレベルの回復を操作する

  3. lsでLinuxファイルのパーミッションを確認する

  1. Linuxでの並べ替えコマンドと例

  2. Vim:+ xビットでファイルを作成しますか?

  3. Git でファイルのアクセス許可を保持する

  1. 改行をNulに置き換えますか?

  2. Linuxでのファイルパーミッションと例

  3. ワイルドカード ファイル パターンを指定した tar -C