Quest-ce que fseek () en programmation C?

Meilleure réponse

Description

La fonction de bibliothèque C int fseek (FILE * stream, long int offset, int whence) définit la position du fichier de flux vers le offset .

Déclaration

Voici la déclaration de la fonction fseek ().

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

Paramètres

  • stream – Ceci est le pointeur vers un objet FILE qui identifie le flux.
  • offset – Il sagit du nombre doctets à décaler à partir doù.
  • doù – Cest la position à partir de laquelle le décalage est ajouté. Il est spécifié par lune des constantes suivantes –

Constante

Description

SEEK\_SET

Début du fichier

SEEK\_CUR

Position actuelle du pointeur de fichier

SEEK\_END

Fin de fichier

Valeur de retour

Cette fonction renvoie zéro en cas de succès, ou bien elle renvoie une valeur différente de zéro.

Exemple

Lexemple suivant montre lutilisation de la fonction 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);

}

Compilons et exécutons le programme ci-dessus qui créera eate un fichier file.txt avec le contenu suivant. Initialement, le programme crée le fichier et écrit Voici Tutoriels pour Java Concurrency, Spring AOP, Gerrit, Spring MVC, Apache Solr, Excel Power View, Sencha Touch, Tex Commands, Agile Testing, Apache Tajo, C ++ Library, MariaDB, SAP QM, SAP SOLMAN, SAP SCM, MS Access, KoaJS, OAuth2.0, Scrapy, SAP CCA, SAP PM, SAPUI5, Cognos, Internet des objets, marketing rural, trampoline, 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 mais plus tard, nous avions réinitialisé le pointeur décriture à la 7ème position depuis le début et utilisé linstruction put () qui écrasait le fichier avec le contenu suivant –

This is C Programming Language

Voyons maintenant le contenu du fichier ci-dessus en utilisant le programme suivant –

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

}

Compilons et exécutons le programme ci-dessus pour produire le résultat suivant –

This is the C Programming Language

Réponse

Les gens simpriment sur la première solution qui fonctionne pour eux.

La mauvaise forme qui donne des résultats est la chose la plus difficile pour un entraîneur de «désapprendre» chez son athlète. Le problème est que lathlète fait partie du chemin, puis heurte un mur avec la mauvaise technique, et passe un temps terrible à réapprendre la bonne forme.

La programmation est aussi comme ça, mais un peu plus facile en fonction de la flexibilité de lesprit du programmeur, et lhumilité de leur regard sur lidée quils ne savent peut-être pas tout ce quil y a à savoir à ce sujet.

Souvent, au début, apprendre une langue, cest comme ramasser brillant roches sur la plage et aller « wow pretty » et le mettre dans votre poche. Bientôt, nous avons une poche pleine de roches que nous transportons, et nous pensons tout savoir sur la géologie.

Mais un programmeur a besoin de savoir plus que simplement à quel point un outil de langage est cool.

C est une bonne base pour connaître les parties dun système de calcul, et comment assembler les éléments vers un objectif de programmation. Cest aussi très rapide, de sorte que le fait trouble le jugement de sorte que chaque domaine de problème ressemble à une solution C serait lapproche la meilleure, la plus rapide et la plus logique. Ce sont vos «habitudes C» qui entrent en jeu, et cest bien pour les domaines problématiques qui nécessiteront une approche fragmentée, orientée octet, centrée sur lappareil. C fonctionne bien sur la variable unique. La plupart des programmes C jonglent avec quelques variables indépendantes, travaillant sur une à la fois, la plupart avec un état de programme contenu dans quelques variables autonomes. Chaque instruction, chaque changement est planifié et contrôlé au niveau atomique, ou une seule fonction à la fois est considérée. Chaque bloc de mémoire est individuellement comptabilisé manuellement, avec soin.

Mais C ++ est plus orienté vers la conception de systèmes et met laccent sur linteraction avec les objets. Les données sont roi, comme dhabitude, mais les objets actifs sont la manière dont les données sont générées et traitées. Tout ce que vous avez appris auparavant de C est toujours valable, mais lapproche de la conception de logiciels concerne les objets, létat des objets et les interfaces.

Les gens peuvent changer – ils écrivent moins de lettres et envoient plus de-mails, utilisent leurs téléphones pour plus de choses et leur ordinateur de bureau pour moins avec le temps (mais leur téléphone ressemble plus à leur PC tous les jours…).

Si vous vous retrouvez à écrire du code de type C en C ++, essayez de voir sil existe une API plus orientée objet qui ferait la même chose avec moins de code. Il est difficile sans expérience de voir où les méthodes OO dépassent les méthodes procédurales, mais beaucoup de gens vraiment intelligents ont compris que les modèles de conception OO gagnent du temps et retravaillent plus tard dans les grands systèmes. C ++ est le terrain dentente, où vous avez les avantages de travailler facilement à la fois dans le domaine de linterface octet et dans les domaines de linterface orientée objet.

Apprenez la STL. Utilisez-le, et vous verrez comment les idées OO et la philosophie dinterface objet quelle promeut remplace lapproche procédurale directe de C.Mais gardez ces compétences C usagées et lisses dans votre poche arrière, car elles vous seront parfois utiles.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *