Compartilhar via


basic_filebuf::seekpos

Tentar modificar os cargos atuais dos fluxos controladas.

virtual pos_type seekpos( 
   pos_type _Sp, 
   ios_base::openmode _Which = ios_base::in | ios_base::out 
);

Parâmetros

  • _Sp
    A posição de busca.

  • _Which
    Especifica o modo da posição do ponteiro. A opção é permitir que você modifique a leitura e gravação posições.

Valor de retorno

Se o ponteiro de arquivo fp for um ponteiro nulo, a função falhará. Caso contrário, se esforça alterar a posição do fluxo chamando fsetpos(fp, &fposn), onde fposn é o objeto de fpos_t armazenado em pos. Se a função tiver êxito, a função retornará pos. Caso contrário, retornará uma posição inválido de fluxo. Para determinar se a posição de fluxo for inválido, compare o valor de retorno com pos_type(off_type(-1)).

Comentários

Os esforços virtuais protegidos da função de membro alterar os cargos atuais dos fluxos controladas. Para um objeto da classe basic_filebuf<Elem, Tr>, uma posição do fluxo que pode ser representado por um objeto do tipo fpos_t, que armazena um deslocamento e quaisquer informações de estado necessários para analisar um fluxo todo o servidor. O deslocamento zero designa o primeiro elemento de fluxo. (Um objeto de repositório de pos_type do tipo pelo menos um objeto de fpos_t .)

Para um arquivo aberto para leitura e gravação, a entrada e os fluxos de saída são posicionados em tandem. Para alternar entre inserir e extrair, você deve chamar pubseekoff ou pubseekpos. As chamadas a pubseekoff (e portanto a seekoff) têm várias restrições para fluxos de texto, fluxos de binário, e os fluxos todo.

Para um fluxo todo, se qualquer inserção ocorreu desde que o fluxo esteve aberto, ou desde a última chamada para streampos, as chamadas de função estouro. Também inserirá qualquer sequência necessária para restaurar o estado inicial de conversão, usando a facetafac de conversão de arquivo para chamar quando necessário fac.unshift . Cada elemento byte de tipo char assim gerado é gravado no fluxo associado designado pelo ponteiro de arquivo fp como se por chamadas sucessivas do formulário fputc(byte, fp). Se a chamada a fac.unshift ou qualquer gravação falhar, a função não terá êxito.

Requisitos

fstream <deCabeçalho: >

Namespace: std

Consulte também

Referência

Classe basic_filebuf

Programação iostream

Convenções iostreams