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

Tutorial básico da linguagem C

Controle de fluxo da linguagem C

Funções do C

Array do C

Ponteiro do C

String do C

Estrutura da linguagem C

Arquivo da linguagem C

Outros C

Manual de referência do linguagem C

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

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

Função da biblioteca C int fsetpos(FILE *stream, const fpos_t *pos) Define o fluxo dado stream A posição do arquivo é definida para a posição fornecida. Parâmetro pos é a posição fornecida pela função fgetpos.

Declaração

A seguir está a declaração da função fsetpos().

int fsetpos(FILE *stream, const fpos_t *pos)

Parâmetro

  • stream -- Este é um ponteiro para o objeto FILE, que identifica o fluxo.
  • pos -- Este é um ponteiro para o objeto fpos_t, que contém a posição anterior obtida por fgetpos.

Retorno

Se bem-sucedido, a função retorna zero, caso contrário, retorna um valor não nulo e define a variável global errno Para um valor positivo, este valor pode ser explicado por perror.

Exemplo online

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

#include <stdio.h>
int main ()
{
   FILE *fp;
   fpos_t position;
   fp = fopen("file.txt","w+");
   fgetpos(fp, &position);
   fputs("Olá, Mundo!", 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 Olá, Mundo!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 ver o conteúdo do arquivo acima:

#include <stdio.h>
int main ()
{
   FILE *fp;
   int c;
   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>