Comment voulez-vous obtenir la taille du fichier par fd?
Je sais que je peux obtenir la taille du fichier de FILE *
par fseek
, mais ce que j'ai est juste un INT fd.
Comment puis-je obtenir la taille du fichier, dans ce cas?
Essayez de
AFAIR C (j'.e la bibliothèque C) ne sait rien sur les descripteurs de fichier. Veuillez être plus précis dans votre question et vos tags.
fdopen
pour obtenir un FILE*
d'un descripteur de fichier.AFAIR C (j'.e la bibliothèque C) ne sait rien sur les descripteurs de fichier. Veuillez être plus précis dans votre question et vos tags.
OriginalL'auteur R__ | 2011-06-30
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
lseek
avecSEEK_END
l'origine, car il renvoie la nouvelle offset dans le fichier, par exemple.OriginalL'auteur
fstat fonctionne. Mais je ne suis pas certain de la façon dont vous prévoyez d'obtenir la taille du fichier via fseek sauf si vous utilisez également ftell (eg. fseek à la fin, puis ftell où vous êtes). fstat est mieux, même pour les FICHIERS, puisque vous pouvez obtenir le descripteur de fichier à partir du descripteur de FICHIER (via fileno).
OriginalL'auteur
J'aime écrire mes exemples de code en tant que fonctions, de sorte qu'ils sont prêts à découper et le coller dans le code:
OriginalL'auteur