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