Obecnie mam trochę kodu podobnego (skrócone i usunięto kilka błędów sprawdzania):wieloplatformowym sposobem sprawdzenia, czy plik jest katalogiem
dp = readdir(dir);
if (dp->d_type == DT_DIR) {
}
to działa maśle na moim komputerze z systemem Linux. Jednak na innym komputerze (wygląda jak SunOS, SPARC):
SunOS HOST 5.10 Generic_127127-11 sun4u sparc SUNW,Ultra-5_10
pojawia się następujący błąd w czasie kompilacji:
error: structure has no member named `d_type'
error: `DT_DIR' undeclared (first use in this function)
Myślałem nagłówek dirent.h
był crossplatform (do maszyn POSIX). Jakieś sugestie.
Kiedy widzę platformę między różnymi platformami, zakładam, że masz na myśli system Windows i prawdopodobnie także system operacyjny OS/2. :-) Odpowiedź na Just Posix jest łatwa, a ktoś już ją dał. – Omnifarious