Che cosè fseek () nella programmazione C?

Migliore risposta

Descrizione

La funzione libreria C int fseek (FILE * stream, long int offset, int whence) imposta la posizione del file stream alla offset .

Dichiarazione

Di seguito è riportata la dichiarazione per la funzione fseek ().

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

Parametri

  • stream – Questo è il puntatore a un oggetto FILE che identifica il flusso.
  • offset – Questo è il numero di byte da cui eseguire loffset.
  • da dove – Questa è la posizione da cui viene aggiunto loffset. È specificato da una delle seguenti costanti:

Costante

Descrizione

SEEK\_SET

Inizio del file

SEEK\_CUR

Posizione attuale del puntatore del file

SEEK\_END

Fine del file

Valore restituito

Questa funzione restituisce zero in caso di successo, oppure restituisce un valore diverso da zero.

Esempio

Lesempio seguente mostra lutilizzo della funzione 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);

}

Compiliamo ed eseguiamo il programma precedente che cr mangia un file file.txt con il seguente contenuto. Inizialmente il programma crea il file e scrive Questo è Tutorial per 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 of Things, Marketing rurale, Trampolino elastico, 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, Grafici Excel, 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 ma in seguito abbiamo ripristinato il puntatore di scrittura alla settima posizione dallinizio e utilizzato listruzione put () che sovrascrive il file con il seguente contenuto –

This is C Programming Language

Ora vediamo il contenuto del file precedente utilizzando il seguente programma:

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

}

Compiliamo ed eseguiamo il programma sopra per produrre il seguente risultato:

This is the C Programming Language

Risposta

Le persone si stampano sulla prima soluzione che funziona per loro.

La forma sbagliata che in qualche modo ottiene risultati è la cosa più difficile da “disimparare” per un allenatore nel proprio atleta. Il problema è che latleta fa parte del percorso, poi colpisce un muro con la cattiva tecnica e ha un momento terribile per riapprendere la forma corretta.

Anche la programmazione è così, ma un po più facile a seconda della flessibilità della mente del programmatore e lumiltà del loro modo di vedere lidea che forse non sanno tutto quello che cè da sapere su di essa.

Spesso allinizio imparare una lingua è come imparare a imparare rocce sulla spiaggia e andare “wow carino” e metterlo in tasca. Ben presto abbiamo una tasca piena di rocce che ci stiamo portando in giro e pensiamo di sapere tutto sulla geologia.

Ma un programmatore deve sapere di più oltre a quanto sia bello uno strumento linguistico.

C è una buona base per conoscere le parti di un sistema computazionale e come mettere insieme i pezzi verso un obiettivo di programmazione. È anche molto veloce, quindi i fatti offuscano il giudizio in modo che ogni dominio del problema assomigli a una soluzione C sarebbe lapproccio migliore, più veloce e più logico. Queste sono le tue “abitudini C” che entrano in gioco, e questo va bene per i domini problematici che richiedono un approccio frammentario, incentrato sui byte, incentrato sui dispositivi. C funziona bene sulla singola variabile. La maggior parte dei programmi C si destreggia tra poche variabili indipendenti, lavorando su una alla volta, la maggior parte con qualsiasi stato del programma contenuto in poche variabili autonome. Ogni affermazione, ogni cambiamento è pianificato e controllato a livello atomico, oppure viene considerata una singola funzione alla volta. Ogni blocco di memoria viene contabilizzato individualmente manualmente, con attenzione.

Ma C ++ è più orientato alla progettazione di sistemi e sottolinea linterazione con gli oggetti. I dati sono il re, come al solito, ma gli oggetti attivi sono il modo in cui i dati vengono generati ed elaborati. Tutto ciò che hai imparato in precedenza da C è ancora valido, ma lapproccio alla progettazione del software riguarda gli oggetti, lo stato degli oggetti e le interfacce.

Le persone possono cambiare: scrivono meno lettere e inviano più email, usano i loro telefoni per più cose e il loro PC desktop per meno con il passare del tempo (ma il loro telefono diventa più simile al loro PC ogni giorno …).

Se ti ritrovi a scrivere codice C-like in C ++, prova a vedere se esiste unAPI più orientata agli oggetti che farebbe la stessa cosa con meno codice. È difficile senza esperienza vedere dove i metodi OO superano i metodi procedurali, ma molte persone veramente intelligenti hanno capito che i modelli di progettazione OO risparmiano tempo e rielaborano in seguito nei sistemi di grandi dimensioni. Il C ++ è la via di mezzo, dove hai i vantaggi di lavorare facilmente sia nel dominio dellinterfaccia byte che nei domini dellinterfaccia orientata agli oggetti.

Impara lSTL. Usalo e vedrai come le idee OO e la filosofia dellinterfaccia degli oggetti che promuove sostituiscono lapproccio procedurale diretto di C.Ma tieni quelle abilità C logore nella tasca posteriore dei pantaloni, perché a volte ti serviranno bene.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *