Fseek in c

Fseek in c
Come utente del computer giornaliero, lavoriamo sempre con file e cartelle. Questi file e cartelle sono i must-have in qualsiasi sistema operativo come Windows o Linux. Oltre ad accedere ai file tramite il sistema operativo, possiamo anche accedere a questi file e cartelle all'interno di qualsiasi linguaggio di programmazione attraverso la presentazione. Sebbene non sia semplice come utilizzare i file e le cartelle nei sistemi operativi, può fornirci una quantità sufficiente di informazioni.

La funzione "Fseek" di "C" è progettata per ottenere informazioni sull'intervallo specifico di dati di testo all'interno di qualsiasi tipo di file come il numero totale di caratteri, visualizza i dati di testo specifici e molti altri. Dato che abbiamo lavorato sulla piattaforma Linux, è necessario installare il compilatore C tramite l'applicazione "comando". Pertanto, apri rapidamente l'applicazione "terminale" e prova ad aggiornare il tuo Ubuntu 22.04 Sistema Linux prima. Usa l'utilità "Apt" con i diritti "Sudo" nella query "Aggiorna" per aggiornarla.

Dopo l'aggiornamento dell'intero sistema, configureremo il compilatore "C" nella nostra macchina Linux. È un bisogno per i nostri esempi di codice perché, senza un compilatore, non saremo in grado di eseguire i codici. Pertanto, utilizzando ancora una volta lo strumento "APT", installiamo il compilatore "GCC" per il linguaggio "C" utilizzando la query "Installa" mostrata nella seguente immagine:

Creiamo un file di testo prima di creare un codice C. Questo file di testo viene prodotto utilizzando la query "touch" Linux come mostrato nella seguente illustrazione. Dopo questo, aggiungiamo un po 'di testo nel nuovo file. Cinque (5) righe di dati di testo vengono visualizzate anche nella shell tramite l'istruzione "Cat".

Esempio 01:

Iniziamo questa prima illustrazione di C per elaborare come possiamo usare la funzione Fseek per spostare il cursore nel punto specifico del file e contare il numero totale di caratteri all'interno di un intervallo specifico. Pertanto, la query "touch" viene nuovamente utilizzata per creare un file con l'estensione "c", i.e. “Fseek.C". La query dell'elenco mostra questo file appena prodotto nella cartella domestica.

Per iniziare la codifica all'interno del file C, apriamo questo file nell'editor GNU Nano del sistema Linux. Ora, il file C deve iniziare con "stdio.”” ”perché è un must per l'utilizzo delle dichiarazioni di input e output di C. Dopo aver incluso l'intestazione standard, utilizziamo la funzione "principale". Utilizziamo la funzione integrata all'interno della funzione principale (), quindi non è necessario aggiungere alcuna funzione definita dall'utente.

L'oggetto "File" viene utilizzato per creare un descrittore di file di tipo puntatore "F". Questo descrittore di file ci aiuta ad accedere e modificare il file ove possibile. Usiamo la funzione "Fopen" di C per aprire semplicemente "Fseek.file txt "in una modalità di lettura usando l'argomento" r ". La funzione fopen () restituisce un certo valore al descrittore "F" che ci dice se il file viene lanciato con successo o meno. Il descrittore di file "F" ci aiuta a eseguire la ricerca su un file di testo tramite la funzione "fseek" posizionando il puntatore all'indice "0" fino alla fine del file, i.e. Opzione "Seek_end".

L'istruzione "C" "Printf" utilizza la funzione "ftell" con il descrittore di file "F" per dirci il numero totale di caratteri in un file dall'indice 0 fino alla fine.

#includere
int main ()
File *f;
f = fopen ("fseek.txt "," r ");
fseek (f, 0, seek_end);
printf ("Numero totale di caratteri: %ld \ n", ftell (f));
restituzione 0;

Salviamo il nostro codice e lo compiliamo usando l'istruzione del compilatore "GCC" sulla shell. Dopo aver eseguito questo codice compilato, otteniamo "69" come output dei caratteri totali in un file.

Esempio 02:

In questo esempio di programma C, vedremo come possiamo aggiungere i dati di testo a un file utilizzando la posizione specifica tramite la funzione fseek (). Pertanto, utilizziamo uno stesso codice con molte modifiche in esso. A partire dall'aggiunta di input e output e aggiungendo il metodo principale (), inizializziamo un descrittore di file puntatore usando l'oggetto "file". Questo descrittore prende il suo valore come valore restituito della funzione "fopen ()" che sta cercando di aprire un file in modalità di scrittura.

La funzione "fputs" di C viene utilizzata qui per aggiungere alcuni dati in un file. E la funzione fseek () imposta la posizione di un cursore su 0 indice all'inizio. Ancora una volta, usando la funzione fputs (), aggiungiamo un testo all'inizio di un file tramite il descrittore "F". La funzione fclose () utilizza il descrittore di file "F" per chiudere il file di testo dopo averlo scritto. Salviamo questo codice prima di eseguirlo.

#includere
int main ()
File *f;
f = fopen ("fseek.txt "," w+");
fput ("Middle End!", F);
fseek (f, 0, seek_set);
fputs ("start", f);
fclose (f);
restituzione 0;

Al momento della compilazione, non abbiamo trovato errori e eseguito con il "./UN.Out "Linux Execution Command. L'esecuzione non ha restituito nulla ma ha apportato alcune modifiche al "Fseek.file txt ". L'istruzione CAT mostra che il testo "start" viene aggiunto alla posizione iniziale di un testo "Middle End".

Dopo questo, aggiorniamo di nuovo il codice e aggiorniamo la posizione di un puntatore da inserire nel file, i.e. Indice di posizione 6. Il restante non è infastidito da una singola parola cambio.

#includere
int main ()
File *f;
f = fopen ("fseek.txt "," w+");
fput ("Middle End!", F);
fseek (f, 6, seek_set);
fputs ("start", f);
fclose (f);
restituzione 0;

Quando abbiamo compilato questo codice appena aggiornato con il compilatore "GCC" insieme a eseguirlo tramite "./UN.fuori "query, non ha restituito nulla in quanto ha apportato alcune modifiche al file di testo. Dopo aver visualizzato i dati di "Fseek.file txt ", mostra che la parola" start "viene aggiunta alla fine di un file dopo l'indice di posizione specificato" 6 ".

Conclusione

Questa guida è un bonus per gli utenti C per comprendere l'uso della funzione fseek () di c in modo più accurato con i semplici esempi. Per questo, abbiamo provato a aggiornare il sistema Linux e configurato il compilatore C. Insieme a ciò, abbiamo impiegato l'esempio di C per utilizzare la funzione fseek () per posizionare il cursore in punti specifici nel file. Abbiamo anche provato le diverse funzioni come la funzione ftell () per visualizzare i caratteri totali dal file e fputs () per aggiungere i dati a un file.