Funzione ftell in c

Funzione ftell in c
Come molti altri linguaggi di programmazione, la lingua C ha trovato molte funzioni integrate. Queste funzioni sono state aggiunte all'interno della lingua C per svolgere diverse funzioni a livelli diversi.

Una delle funzioni è la funzione "ftell ()" del concetto di deposito c. Questa funzione viene probabilmente utilizzata per leggere la posizione del file esistente del flusso fornito rispetto all'inizio del file. Dopo aver spostato il puntatore del documento all'ultima posizione del documento, questo metodo è in vendita al rummage per recuperare le dimensioni complessive del set di dati. La posizione attuale viene restituita in formato lungo e il documento può contenere oltre 32767 byte di informazioni. Pertanto, abbiamo deciso di coprire il C ftell () in Ubuntu 20.04 Sistema.

Inizia con il lancio del terminale di Ubuntu, io.e., Ctrl+alt+t. Dobbiamo creare un nuovo file di testo nella cartella domestica del nostro sistema Ubuntu. Utilizzare le istruzioni touch per farlo. Vai verso la cartella domestica del tuo sistema Linux e apri il file appena creato con doppio tocco su di esso. Aggiungi alcuni dati di testo in esso, salvalo e chiudilo.

Puoi vedere che abbiamo creato il file.file txt e aggiunto i dati di seguito. Utilizzeremo questo file nei nostri esempi quasi a casa.

$ cat file.TXT

Esempio 01:

Ringraziamo i nostri primi esempi per questo articolo. È necessario creare un nuovo file di tipo C nel sistema utilizzando le istruzioni touch di Ubuntu insieme al nome di un file usando il ".C ”estensione. Questo file è necessario per aprire all'interno di uno degli editori di Ubuntu per utilizzarlo per un codice. È possibile utilizzare il VIM, il testo o il Nano Editor. Finora abbiamo usato l'editor "GNU Nano" per rendere il nostro codice più attraente.

$ touch ftell.C
$ nano ftell.C

Quando il file è stato aperto nell'editor GNU Nano, sarà inizialmente vuoto. Dobbiamo iniziare il nostro codice C con l'uso delle intestazioni, molto probabilmente "stdio.H". Eseguiremo il nostro codice all'interno della funzione principale () di questo codice.

Avviare la funzione principale () del tipo di ritorno "int". Abbiamo dichiarato il descrittore di file del tipo di punta utilizzando l'oggetto file. È anche dichiarato un altro tipo di tipo intero, i.e., "lunghezza". Ora, dobbiamo aprire il file di testo già esistente dal nostro sistema usando la funzione fopen () del file c per leggere i suoi dati con le scritture di lettura, i.e., "R". Se il file venisse aperto correttamente, il descrittore dei file verrebbe restituito con un certo valore intero, molto probabilmente "1".

Abbiamo utilizzato l'istruzione "if" per verificare se il valore del descrittore dei file che abbiamo appena ottenuto è nullo o no. In tal caso, chiamerà il metodo Perror () di C per generare un prompt di errori, i.e., "C'è qualche errore". Dopo questa istruzione "if", se il file viene aperto correttamente, useremo la funzione Seek () del deposito C per portare il puntatore alla fine di un file.

Dobbiamo utilizzare l'opzione Seek_end come terzo argomento della funzione Fseek (). Lo 0 in questa funzione viene utilizzato per cercare il puntatore dalle posizioni 0. La lunghezza della dimensione totale del file è stata ottenuta dall'uso della funzione ftell ().

Il file è stato chiuso con la funzione fclose () utilizzando il descrittore di file in esso. Ora, l'istruzione printf è qui per visualizzare i byte totali di dati all'interno del nostro file di testo utilizzando la variabile "lunghezza". Salva il file del codice con il collegamento CTRL+S.

#includere
void main ()
File *fd;
lunghezza int;
fd = fopen ("file.txt "," r ");
if (fd == null)
Perror ("C'è qualche errore");
restituzione (-1);

fseek (fd, 0, seek_end);
lunghezza = ftell (FD);
fclose (FD);
printf ("La nostra dimensione del file: %d byte \ n", len);
restituzione (0);

Esci dall'editor Nano con CTRL+X Shortcut compila il codice C tramite il compilatore "GCC". Esegui il tuo codice dopo questo con "./UN.comando fuori ". Puoi vedere che il nostro file di testo ha un totale di 370 byte.

$ gcc ftell.C
$ ./UN.fuori

Esempio 02:

Facciamo un nuovo esempio per usare la funzione ftell () di c al suo interno. Usa lo stesso file di codice per aggiornare il nostro codice. Usa "stdio.H ”” e avviare la funzione principale (). Utilizzare il descrittore del file di tipo punto "F" per aprire il file "File di testo".txt "in modalità di lettura. Dichiarare una serie di dimensioni 10, i.e., "UN". Abbiamo usato la funzione fscanf () del deposito C per scansionare la prima stringa dal file di testo con non più di 10 lettere.

L'istruzione printf () ha utilizzato il descrittore di file nella sua funzione ftell () per visualizzare anche la lunghezza della prima stringa dal suo file di testo.

#includere
void main ()
File *f = fopen ("file.txt "," r ");
Char A [10];
fscanf (f, "%s", a);
printf ("Posizione del puntatore: %ld \ n", ftell (f);
restituzione (0);

Dopo questa compilazione e in esecuzione del codice, questo file ci mostra l'output, i.e., la posizione del puntatore dopo il 1st La stringa è 4, come mostrato di seguito.

$ gcc ftell.C
$ ./UN.fuori

Facciamo la prima stringa nel file.file txt un po 'più a lungo utilizzando semplice editing.

$ cat file.TXT

Ora, usa la stessa quantità di codice senza alcun aggiornamento/modifica per vedere come risulta. Abbiamo usato l'array di dimensioni 10 per l'array "A". Se la dimensione è inferiore, visualizzerà la dimensione totale della prima stringa, i.e., lunghezza ma mostra anche un po 'di output sull'area di uscita.

L'esecuzione di questo codice ci mostra che la dimensione è 28, ma il programma è distrutto perché la prima stringa è di 28 dimensioni e hai utilizzato un'area di dimensioni 10.

$ gcc ftell.C
$ ./UN.fuori

Conclusione:

Questo articolo ha discusso i dettagli minori dell'utilizzo della funzione ftell () di C per ottenere la dimensione dei dati utilizzati in un determinato documento. Abbiamo discusso due delle semplici illustrazioni per spiegare il concetto di funzione ftell nel linguaggio di programmazione C.