CStdioFile::Seek
Reposiciona o ponteiro em um arquivo aberto anteriormente.
virtual ULONGLONG Seek(
LONGLONG lOff,
UINT nFrom
);
Parâmetros
lOff
Número de bytes para mover o ponteiro.nFrom
Modo de movimentação do ponteiro.Deve ser um dos seguintes valores:CFile::begin: Mova o ponteiro de arquivo lOff encaminhar bytes do início do arquivo.
CFile::current: Mova o ponteiro de arquivo lOff bytes da posição corrente do arquivo.
CFile::end: Mova o ponteiro de arquivo lOff bytes do participante do arquivo. Observe que lOff deve ser negativo buscar em existente arquivos; positivo irão procurar valores depois do participante do arquivo.
Valor de retorno
Se a posição solicitada for legal, Seek Retorna o novo deslocamento de byte do início do arquivo. Caso contrário, o valor retornado é indefinido e CFileException objeto é lançado.
Comentários
The Seek permite função que acesso aleatório ao Sumário do arquivo, movendo o ponteiro um valor especificado, absolutamente ou relativamente. Não há dados sejam realmente lidos durante a busca.Se a posição solicitada for maior do que o dimensionar do arquivo, o dimensionar do arquivo será estendido para essa posição e nenhuma exceção será lançada.
Quando um arquivo for aberto, o ponteiro do arquivo será posicionado no deslocamento 0, o início do arquivo.
Essa implementação de Seek baseia a função de biblioteca em tempo de execução (CRT) fseek. Há vários limites no uso do Seek em fluxos abertos no modo de texto. Para obter mais informações, consulte fseek, _fseeki64.
Exemplo
O exemplo a seguir mostra como usar Seek Para mover os ponteiro 1000 bytes do início do cfile arquivo. Observe que Seek não lê os dados, portanto, você deve chamar subseqüentemente CStdioFile::ReadString para ler os dados.
CStdioFile cfile(_T("Stdio_Seek_File.dat"), CFile::modeWrite |
CFile::modeCreate);
LONGLONG lOff = 1000;
ULONGLONG lActual = cfile.Seek(lOff, CFile::begin);
Requisitos
Cabeçalho: afx.h