English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial básico do C

Controle de fluxo do C

Funções do C

Array do C

Ponteiro do C

String do C

Estrutura do C

Arquivo do C

Outro C

Manual de referência do C

Uso e exemplo da função fgetpos() da biblioteca C

Biblioteca Padrão do C - <stdio.h>

Função da biblioteca C int fgetpos(FILE *stream, fpos_t *pos) Obter fluxo stream a posição atual do arquivo, e escreve-a em pos.

Declaração

Aqui está a declaração da função fgetpos().

int fgetpos(FILE *stream, fpos_t *pos)

Parâmetros

  • stream -- Este é um ponteiro para o objeto FILE, que identifica o fluxo.
  • pos -- Este é um ponteiro para o objeto fpos_t.

Retorno

Se for bem-sucedido, a função retorna zero. Se ocorrer um erro, ela retorna um valor não nulo.

Exemplo online

O exemplo a seguir demonstra o uso da função fgetpos().

#include <stdio.h>
int main ()
{
   FILE *fp;
   fpos_t position;
   fp = fopen("file.txt","w+");
   fgetpos(fp, &position);
   fputs("Hello, World!", fp);
   fsetpos(fp, &position);
   fputs("Isso cobrirá o conteúdo anterior", fp);
   fclose(fp);
   return(0);
}

Vamos compilar e executar o programa acima, isso criará um arquivo file.txtSeu conteúdo é o seguinte. Primeiro usamos fgetpos() A função para obter a posição inicial do arquivo, em seguida, escrevemos no arquivo Hello, World!E, em seguida, usamos fsetpos() A função para resetar o ponteiro de escrita para o início do arquivo, reescrevendo o arquivo com o seguinte conteúdo:

Isso cobrirá o conteúdo anterior

Agora vamos usar o seguinte programa para visualizar o conteúdo do arquivo acima:

#include <stdio.h>
int main ()
{
   FILE *fp;
   int c;
   int n = 0;
   fp = fopen("file.txt","r");
   while(1)
   {
      c = fgetc(fp);
      if( feof(fp) )
      {
          break ;
      }
      printf("%c", c);
   }
   fclose(fp);
   return(0);
}

Biblioteca Padrão do C - <stdio.h>