Ftell -funksjon i C

Ftell -funksjon i C
Som mange andre programmeringsspråk kom C-språket med mange innebygde funksjoner. Disse funksjonene er lagt til innen C -språket for å utføre forskjellige funksjoner på forskjellige nivåer.

En av funksjonene er "Ftell ()" -funksjonen til C -arkiveringskonseptet. Denne funksjonen brukes sannsynligvis til å lese den eksisterende filstedet til den medfølgende strømmen i forhold til filens begynnelse. Når du skifter dokumentpekeren til den siste plasseringen av dokumentet, blir denne metoden rumme-salg for å hente den generelle størrelsen på datasettet. Det nåværende stedet returneres i langt format, og dokumentet kan inneholde over 32767 byte av informasjon. Dermed har vi bestemt oss for å dekke C ftell () i Ubuntu 20.04 System.

Begynn med Ubuntus terminaloppskyting, jeg.e., Ctrl+alt+t. Vi må lage en ny tekstfil i hjemmemappen til Ubuntu -systemet vårt. Benytt deg av berøringsinstruksjon for å gjøre det. Gå mot hjemmemappen til Linux-systemet ditt og åpne den nyopprettede filen ved å tappe på den. Legg til noen tekstdata i den, lagre og lukk dem.

Du kan se at vi har opprettet filen.txt-filen og la til de nedenfor-stilige dataene i den. Vi vil bruke denne filen i våre eksempler på nær å tilordne.

$ kattefil.tekst

Eksempel 01:

La oss gjøre opp med de første eksemplene våre for denne artikkelen. Du må opprette en ny C-Type-fil i systemet ditt ved å bruke Ubuntus berøringsinstruksjon sammen med navnet på en fil ved hjelp av ".C ”-forlengelse. Denne filen er nødvendig for å åpne i en av Ubuntus redaktører for å bruke den til en kode. Du kan bruke Vim, tekst eller nano -redaktør. Vi har brukt “GNU Nano” -redaktøren så langt for å gjøre koden vår mer tiltalende.

$ Touch Ftell.c
$ nano ftell.c

Da filen ble åpnet i GNU Nano -redaktøren, vil den i utgangspunktet være tom. Vi må starte C -koden vår med bruk av overskrifter, sannsynligvis “stdio.h ”. Vi utfører koden vår innen hoved () -funksjonen til denne koden.

Start hoved- () -funksjonen til "int" returtypen. Vi har erklært pekertypefilbeskrivelsen ved å bruke filobjektet. En annen variabel av heltallstypen er også erklært, i.e., "lengde". Nå må vi åpne den allerede eksisterende tekstfilen fra systemet vårt ved å bruke fopen () -funksjonen til C -filen for å lese dataene med lesingen, skriver jeg.e., “R”. Hvis filen ble åpnet med suksess, vil filbeskrivelsen bli returnert med noe heltallverdi, sannsynligvis “1”.

Vi har brukt "hvis" -uttalelsen for å sjekke om filbeskrivelsesverdien vi nettopp har fått er null eller ikke. I så fall vil den kalle Perror () -metoden til C for å generere en feilprompt, i.e., “Det er en viss feil”. Etter denne "hvis" -erklæringen, hvis filen blir åpnet, bruker vi Seek () -funksjonen til C -arkivering for å ta pekeren til slutten av en fil.

Vi må bruke Seek_end -alternativet som det tredje argumentet for FSEEK () -funksjonen. 0 i denne funksjonen brukes til å se etter pekeren fra 0 -stillingene. Lengden på den totale filstørrelsen er oppnådd fra bruken av Ftell () -funksjonen.

Filen er lukket med fclose () -funksjonen som bruker filbeskrivelsen i den. Nå er Printf -setningen her for å vise de totale byte av data i vår tekstfil ved å bruke "lengde" -variabelen. Lagre kodefilen din med CTRL+S -snarveien.

#inkludere
void main ()
Fil *fd;
int lengde;
fd = fopen ("fil.txt "," r ");
if (fd == null)
Perror (“Det er en viss feil”);
return (-1);

fseek (fd, 0, Seek_end);
lengde = ftell (FD);
fClose (FD);
printf ("vår filstørrelse: %d byte \ n", len);
return (0);

Avslutt Nano Editor med Ctrl+X -snarvei C -koden via “GCC” -kompilatoren. Kjør koden din etter det med "./en.ut ”-kommando. Du kan se at tekstfilen vår har totalt 370 byte.

$ GCC Ftell.c
$ ./en.ute

Eksempel 02:

La oss ta et nytt eksempel for å bruke ftell () -funksjonen til C i den. Bruk den samme kodefilen for å gjøre koden vår oppdatert. Bruk “stdio.h ”header og start main () -funksjonen. Bruk punkttypefilbeskrivelsen “F” for å åpne tekstfilen “Fil.txt ”i lesemodus. Erklære en rekke størrelse 10, jeg.e., "EN". Vi har brukt FSCANF () -funksjonen til C -arkivering for å skanne den første strengen fra tekstfilen som ikke har mer enn 10 bokstaver.

Utskrift () -uttalelsen har brukt filbeskrivelsen i Ftell () -funksjonen for å vise lengden på den første strengen fra tekstfilen også.

#inkludere
void main ()
Fil *f = fopen ("Fil.txt "," r ");
char a [10];
fscanf (f, "%s", a);
printf ("Posisjon av pekeren: %ld \ n", ftell (f);
return (0);

Etter denne kodesamlingen og kjøringen viser denne filen oss utdataene, i.e., pekerens plassering etter 1st Strengen er 4, som vist nedenfor.

$ GCC Ftell.c
$ ./en.ute

La oss lage den første strengen i filen.txt -fil litt lenger ved hjelp av enkel redigering.

$ kattefil.tekst

Bruk nå den samme mengden kode uten oppdatering/endring i den for å se hvordan det resulterer. Vi har brukt utvalget av størrelse 10 for “A” -arrayen. Hvis størrelsen er mindre, vil den vise den totale størrelsen på den første strengen, i.e., lengde, men viser noe utgang på utgangsområdet også.

Utførelsen av denne koden viser oss at størrelsen er 28, men programmet er knust fordi den første strengen er i 28 størrelser, og du har brukt et område med størrelse 10.

$ GCC Ftell.c
$ ./en.ute

Konklusjon:

Denne artikkelen diskuterte de mindre detaljene om bruk av FTELL () -funksjonen til C for å få størrelsen på data som brukes i et bestemt dokument. Vi har diskutert to av de enkle illustrasjonene for å forklare begrepet Ftell -funksjon på C -programmeringsspråket.