[問題] ftw小測試

看板C_and_CPP (C/C++)作者 (smigo)時間16年前 (2010/03/20 03:20), 編輯推噓2(203)
留言5則, 3人參與, 最新討論串1/1
第一次使用ftw這個函式 寫了一個測試 程式碼如下 1 #include<sys/stat.h> 2 #include<unistd.h> 3 #include<ftw.h> 4 #include<stdio.h> 5 int fn(const char *file, const struct stat *sb, int flag) 6 { 7 printf("%s",file); 8 return 0; 9 } 10 int main() 11 { 12 printf("%d",ftw("/",fn,500)); 13 return 0; 14 } 結果是印出代表錯誤的"-1" 不知道是不是函式用法錯了 有大大能解答嗎??? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.233.149.27

03/20 03:48, , 1F
剛測了一下 linux沒問題 freebsd會回傳-1 ......
03/20 03:48, 1F

03/20 06:43, , 2F
FreeBSD nfds 要給一個 2~63 之間的數字 (不過ftw不會用到)
03/20 06:43, 2F

03/20 06:43, , 3F
所以把 500 改成 63 應該就可以了
03/20 06:43, 3F

03/20 06:44, , 4F
要印多少東西可能要 fn 自己去計算個數了
03/20 06:44, 4F

03/20 10:12, , 5F
感謝!
03/20 10:12, 5F
文章代碼(AID): #1Beyw5Sl (C_and_CPP)
文章代碼(AID): #1Beyw5Sl (C_and_CPP)