CStdioFile::Seek
Repositionne le pointeur dans un fichier déjà ouvert.
virtual ULONGLONG Seek(
LONGLONG lOff,
UINT nFrom
);
Paramètres
lOff
Nombre d'octets pour déplacer le pointeur.nFrom
Mode de déplacement du pointeur. Doit avoir l'une des valeurs suivantes :CFile::begin: Déplacez les octets d' lOff de pointeur de fichier avancée du début du fichier.
CFile::current: Déplacez les octets d' lOff de pointeur de fichier de la position actuelle dans le fichier.
CFile::end: Déplacez les octets d' lOff de pointeur de fichier de la fin de le fichier. Notez qu' lOff doit être négatif pour le rechercher dans le fichier existant ; les valeurs positives il sera les situé après la fin de le fichier.
Valeur de retour
Si la position demandée est autorisé, Seek retourne le nouveau décalage d'octet du début du fichier. Sinon, la valeur de retour est pas définie et un objet d' CFileException est levée.
Notes
La fonction d' Seek autorise l'accès aléatoire au contenu d'un fichier en déplaçant le pointeur un valeur spécifiée, de façon absolue ou relativement. Aucune donnée n'est effectivement lue pendant l'accès. Si la position demandée est plus grande que la taille du fichier, la longueur de fichier est étendue à cette position, et aucune exception n'est levée.
Lorsqu'un fichier est ouvert, le pointeur de fichier est positionné au décalage 0, le début du fichier.
Cette implémentation d' Seek est basée sur la fonction fseekde la bibliothèque Runtime (CRT). Il existe plusieurs limites sur l'utilisation d' Seek sur les flux ouverts en mode texte. Pour plus d'informations, consultez fseek, _fseeki64.
Exemple
L'exemple suivant montre comment utiliser Seek pour déplacer le pointeur 1000 octets du début du fichier d' cfile . Notez qu' Seek ne lit des données, vous devez ensuite appeler CStdioFile::ReadString pour lire les données.
CStdioFile cfile(_T("Stdio_Seek_File.dat"), CFile::modeWrite |
CFile::modeCreate);
LONGLONG lOff = 1000;
ULONGLONG lActual = cfile.Seek(lOff, CFile::begin);
Configuration requise
Header: afx.h