O que é fseek () na programação C?

Melhor resposta

Descrição

A função de biblioteca C int fseek (FILE * stream, long int offset, int whence) define a posição do arquivo do stream para o deslocamento .

Declaração

A seguir está a declaração para a função fseek ().

int fseek(FILE *stream, long int offset, int whence)

Parâmetros

  • stream – Este é o ponteiro para um objeto FILE que identifica o fluxo.
  • deslocamento – este é o número de bytes a serem compensados ​​a partir de onde.
  • whence – Esta é a posição de onde o deslocamento é adicionado. É especificado por uma das seguintes constantes –

Constante

Descrição

SEEK\_SET

Início do arquivo

SEEK\_CUR

Posição atual do ponteiro do arquivo

SEEK\_END

Fim do arquivo

Valor de retorno

Esta função retorna zero se for bem-sucedida ou então retorna um valor diferente de zero.

Exemplo

O exemplo a seguir mostra o uso da função fseek ().

#include

int main ()

{

FILE *fp;

fp = fopen("file.txt","w+");

fputs("This is tutorialspoint.com", fp);

fseek( fp, 7, SEEK\_SET );

fputs(" C Programming Language", fp);

fclose(fp);

return(0);

}

Vamos compilar e executar o programa acima que irá cr eate um arquivo arquivo.txt com o seguinte conteúdo. Inicialmente o programa cria o arquivo e grava Isto é Tutoriais para simultaneidade Java, Spring AOP, Gerrit, Spring MVC, Apache Solr, Excel Power View, Sencha Touch, Comandos Tex, Agile Testing, Apache Tajo, Biblioteca C ++, MariaDB, SAP QM, SAP SOLMAN, SAP SCM, MS Access, KoaJS, OAuth2.0, Scrapy, SAP CCA, SAP PM, SAPUI5, Cognos, Internet of Things, Rural Marketing, Trampolining, Golf, CakePHP, SAP EWM, Web Dynpro, Angular2, Framework7, Arduino, CherryPy, Firebase, SAP C4C, SAP Dashboard , SAP PI, ExpressJS, Design Thinking, Internet Security, PyGTK, Apache Drill, Excel Charts, Elastic Search, Computer Security, Extreme Programming, Behavior Driven Development, Conversion Rate Optimization, SAP Basis, Business Law, Kanban, Erlang, SAP Payroll, ASP.Net WP, PouchDB, MFC, SAP HR, Yii, Clojure, Aurelia, CoffeeScript, CPanel, Laravel, SAP Webi, MS SQL Server, pinterest, Indian Polity, Teradata, Windows10 mas depois redefinimos o ponteiro de gravação na 7ª posição do início e usamos a instrução puts () que sobrescreve o arquivo com o seguinte conteúdo –

This is C Programming Language

Agora vamos ver o conteúdo do arquivo acima usando o seguinte programa –

#include

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);

}

Vamos compilar e executar o programa acima para produzir o seguinte resultado –

This is the C Programming Language

Resposta

As pessoas imprimem na primeira solução que funciona para elas.

A má forma que de alguma forma consegue resultados é o mais difícil para um treinador “desaprender” em seu atleta. O problema é que o atleta fica no meio do caminho, depois bate na parede com a técnica ruim e passa um tempo terrível reaprendendo a forma adequada.

A programação também é assim, mas um pouco mais fácil dependendo da flexibilidade da mente do programador e a humildade de sua perspectiva em relação à ideia de que talvez eles não saibam tudo que há para saber sobre isso.

Muitas vezes, no início, aprender uma linguagem é como pegar uma pedras na praia e ficando “uau linda” e colocando no bolso. Em breve teremos um bolso cheio de pedras que carregamos e achamos que sabemos tudo sobre geologia.

Mas um programador precisa saber mais do que apenas o quão legal é uma ferramenta de linguagem.

C é uma boa base para conhecer as partes de um sistema computacional e como colocá-las juntas para um objetivo de programação. Também é muito rápido, de modo que o fato obscurece o julgamento de modo que cada domínio de problema pareça uma solução C seria a melhor, a mais rápida e a mais lógica abordagem. Este é o seu “hábito C” entrando em ação, e isso é bom para domínios de problemas que exigirão uma abordagem fragmentada e centrada em dispositivos orientada a bytes. C funciona bem com a única variável. A maioria dos programas C está fazendo malabarismos com algumas variáveis ​​independentes, trabalhando uma de cada vez, a maioria com qualquer estado do programa mantido em algumas variáveis ​​independentes. Cada declaração, cada mudança, é planejada e controlada em nível atômico, ou uma única função por vez é considerada. Cada bloco de memória é individualmente contabilizado manualmente e com cuidado.

Mas C ++ é mais orientado para o projeto de sistemas e enfatiza a interação do objeto. Os dados são essenciais, como de costume, mas os objetos ativos são como os dados são gerados e processados. Tudo o que você aprendeu antes com C ainda é válido, mas a abordagem para projetar software é sobre objetos, estado do objeto e interfaces.

As pessoas podem mudar – elas escrevem menos cartas e enviam mais e-mail, usam seus telefones para mais coisas e seus PCs de mesa por menos conforme o tempo passa (mas seus telefones se tornam mais parecidos com seus PCs todos os dias …).

Se você se pega escrevendo um código C em C ++, tente ver se houver uma API mais orientada a objetos que faria a mesma coisa com menos código. É difícil sem experiência ver onde os métodos OO excedem os métodos procedimentais, mas muitas pessoas realmente espertas descobriram que os padrões de projeto OO economizam tempo e retrabalham posteriormente em grandes sistemas. C ++ é o meio termo, onde você tem as vantagens de trabalhar facilmente tanto no domínio de interface de bytes quanto nos domínios de interface orientada a objetos.

Aprenda o STL. Use-o e você verá como as idéias OO e a filosofia de interface de objeto que ela promove substituem a abordagem procedimental direta de C. Mas mantenha essas habilidades de C suaves em seu bolso traseiro, porque elas lhe servirão bem às vezes.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *