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