dois-je utiliser fseek SEEK_END

Ma question est simple:

Dois-je utiliser fseek avec SEEK_END pour accéder à la fin d’un fichier, puis obtenir sa longueur? Parce que chez l’homme on dit:

  • Les implémentations de bibliothèque sont autorisées à ne pas prendre en charge de manière significative SEEK_END (par conséquent, le code qui l’utilise n’a pas de portabilité standard réelle).

En ce moment, j’utilise stat (de C), qui est le meilleur?

    La fonction ftell renvoie un long, ce qui signifie que sur un système ILP32, vous ne pouvez pas obtenir correctement la taille d’un fichier supérieur à 2 Go. Vous devriez utiliser la fonction stat ou similaire pour obtenir la taille d’un fichier; Consultez le manuel du système d’exploitation que vous ciblez si vous utilisez un nom de fonction différent (stat64) ou définissez une macro de préprocesseur pour obtenir le comportement souhaité pour les gros fichiers.

    Comme C ++ hérite de fseek et de SEEK_END du C, je cite le standard C ici:

    C11 (ISO / IEC 9899: 201x) §7.21.9.2 Section de fonction fseek 3

    Un stream binary n’a pas besoin de prendre en charge de manière significative les appels fseek avec une valeur de SEEK_END de SEEK_END .