Partilhar via


basic_filebuf::seekpos

Tentar alterar os cargos atuais para fluxos controle.

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

Parâmetros

  • _Sp
    A posição para buscar.

  • _Which
    Especifica o modo para a posição do ponteiro.O padrão é permitir que você altere a leitura e escrita posições.

Valor de retorno

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

Comentários

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

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

Para um fluxo amplo, se qualquer inserção ocorreu porque o fluxo foi aberto, ou desde a última chamada a streampos, as chamadas de função estouro.Também inserir qualquer seqüência necessária restaurar o estado inicial de conversão, usando a fac aspecto de conversão de arquivo para chamar quando necessário fac.unshift .Cada elemento byte de tipo char gerado para é gravado no fluxo associado designado pelo ponteiro do 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 tiver êxito.

Requisitos

Cabeçalho: <fstream>

namespace: STD

Consulte também

Referência

basic_filebuf Class

iostream de programação

Convenções de iostreams