función fgetpos () en el lenguaje C con el Ejemplo

Aquí, vamos a aprender acerca de los fgetpos () la función de cabecera stdio.h biblioteca en lenguaje C con su sintaxis, ejemplo .

fgetpos () en C

Prototipo:

    int fgetpos(FILE* filename, fpos_t *position);

Parámetros:

    FILE* filename, fpos_t *position,

Return tipo: int (la posición actual del puntero indicador de archivo)

uso de la función:

En el manejo de archivos, a través de los fgetpos () la función obtenemos la posición actual del indicador de flujo de archivo de entrada. Siempre que se necesite la posición del indicador de archivo en el archivo, tenemos que utilizar los fgetpos de función () . El prototipo de los fgetpos () función es: int fgetpos (FILE * nombre de archivo, fpos_t * posición);

Aquí el tipo de datos de la posición variable de debe ser tipo fpos_t.

fgetpos () ejemplo en C

#include <stdio.h>
#include <stdlib.h>
int main(){
FILE *f;
char ch[100];
//Initialize the position variable
fpos_t pos;
//Create the file for write operation
f=fopen("includehelp.txt","w+");
//Store the value of the function point indicator
fgetpos(f,&pos);
printf("Enter five stringsn");
for(int i=0;i<4;i++){
//take the strings from the users
scanf("%[^n]",&ch);
//write back to the file
fputs(ch,f);
//every time take a new line for the new entry string
//except for last entry.Otherwise print the last line twice
fputs("n",f);
//clear the stdin stream buffer
//if we don't write this then after taking string
//%[^n] is waiting for the 'n' or white space
fflush(stdin);
}
//take the strings from the users
scanf("%[^n]",&ch);
fputs(ch,f);
//set the indicator position to the initial position of the file
fsetpos(f,&pos);
printf("File content is--n");
printf("n...............print the strings..............nn");
while(!feof(f)){
//takes the first 100 character in the character array
fgets(ch,100,f);
//and print the strings
printf("%s",ch);
}
//close the file
fclose(f);
return 0;
}

salida

fgetpos() function in C language with Example - 4


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *