我試圖用scandir
打印當前目錄中的文件列表。當我嘗試編譯,我收到以下錯誤和警告:scandir的隱式聲明; alphasort未聲明
warning: implicit declaration of function ‘scandir’ [-Wimplicit-function-declaration]
error: ‘alphasort’ undeclared (first use in this function)
note: each undeclared identifier is reported only once for each function it appears in
我包括<dirent.h>
,其中據我所知應該定義scandir()
和所有相關的功能。而且我沒有看到任何錯誤,在我的代碼:
#include <dirent.h>
...
int printFiles(){
struct dirent **nameList;
int numOfFiles = scandir(".", &nameList, 0, alphasort);
//TODO print file names
return numOfFiles;
}
....
我運行Ubuntu 12.04,和我使用gcc
與-c99
標誌進行編譯。
我可以簡單地忽略一些東西嗎?我無法弄清楚爲什麼它不能編譯。
不同消息的原因是編譯器從上下文知道'scandir()'必須是一個函數,但從上下文無法判斷'alphasort()'是一個函數。 –