Partager via


strstreambuf::seekoff

Une fonction membre virtuelle protégée qui essaie de modifier les situations actuelles pour les flux de données sous contrôle.

virtual streampos seekoff(
   streamoff _Off,
   ios_base::seekdir _Way,
   ios_base::openmode _Which = ios_base::in | ios_base::out
);

Paramètres

  • _Off
    Position à rechercher dans _Wayrelatif.

  • _Way
    Le point de départ pour les opérations d'offset.Consultez seekdir pour les valeurs possibles.

  • _Which
    Spécifie l'état de la position du pointeur.La valeur par défaut est de vous permettre de modifier les positions de lecture et d'écriture.

Valeur de retour

Si la fonction réussit en modifiant l'un ou l'autre ou les deux positions de flux, elle retourne la position résultante de flux.Sinon, elle échoue et retourne une position incorrecte de flux.

Notes

La fonction membre virtuelle protégée tente de modifier les situations actuelles pour les flux de données sous contrôle.Pour un objet de strstreambuf de classe, une position de flux de données se compose d'un purement un offset de flux.l'offset zéro indique le premier élément de l'ordre d'exécution des instructions.

La nouvelle position est déterminée comme suit :

  • Si _Way == ios_base::beg , la nouvelle position est le démarrage du flux plus le _Off.

  • Si _Way == ios_base::cur , la nouvelle position est la position actuelle de flux plus le _Off.

  • Si _Way == ios_base::end , la nouvelle position est la fin du flux plus le _Off.

Si _Which et ios_base::in est différent de zéro et la mémoire tampon d'entrée existent, la fonction modifie la position pour lire dans la mémoire tampon d'entrée.Si _Which et ios_base::out est également différent de zéro, _Way ! = ios_base::cur, et la mémoire tampon de sortie existe, la fonction définit également la position à écrire pour correspondre à la position pour lire.

Sinon, si _Which et ios_base::out est différent de zéro et la mémoire tampon de sortie existe, la fonction modifie la position pour écrire dans la mémoire tampon de sortie.Sinon, les échecs de positionnement d'exécution.Pour qu'une opération de positionnement réussisse, la position résultant de flux de données doit se trouver en dessous de l'ordre d'exécution des instructions.

Configuration requise

en-tête : <strstream>

l'espace de noms : DST

Voir aussi

Référence

strstreambuf Class

programmation iostream

conventions d'iostreams