Partager via


basic_stringbuf::seekoff

Les tests virtuels protégés de fonction membre pour modifier les situations actuelles pour les flux de données sous contrôle.

virtual pos_type seekoff(
   off_type _Off,
   ios_base::seekdir _Way,
   ios_base::openmode _Mode = ios_base::in | ios_base::out
);

Paramètres

  • _Off
    Position à rechercher dans _Wayrelatif.Pour plus d'informations, consultez basic_stringbuf::off_type.

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

  • _Mode
    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.Pour plus d'informations, consultez ios_base::openmode.

Valeur de retour

Retourne la nouvelle position ou une position incorrecte de flux.

Notes

Pour un objet de classe basic_stringbuf<Elem, Tr, Alloc>, 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 == ios_base::begd' _Way , la nouvelle position est le démarrage du flux plus _Off.

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

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

Si _Mode & ios_base::in est différent de zéro, la fonction modifie la position pour lire dans la mémoire tampon d'entrée.Si _Mode & ios_base::out est différent de zéro, la fonction modifie la position pour écrire dans la mémoire tampon de sortie.Pour qu'un flux est affecté, sa mémoire tampon doit exister.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.Si la fonction affecte les positions de flux, _Way doit être ios_base::beg ou ios_base::end et les deux flux sont placés au même élément.Sinon (ou si ni l'une ni l'autre de position n'est affectée), l'opération de positionnement échoue.

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.

Configuration requise

en-tête : <sstream>

l'espace de noms : DST

Voir aussi

Référence

basic_stringbuf Class

programmation iostream

conventions d'iostreams