Godzil (./3385) :Tu as raison. C'est stat qu'il faut utiliser, pas fstat. Mais stat aussi existe aussi sous Windows (du moins MinGW, Visual C++ oblige probablement là aussi à rajouter le fameux underscore).
Mais vous faites tous erreur, vous confondez stat et fstat:
int stat(const char *pathname, struct stat *statbuf);
int fstat(int fd, struct stat *statbuf);