Monday, May 2, 2016

fgetpos & fsetpos bahasa C/C++

fgetpos(FILE* stream, fpos_t* pos) berfungsi untuk menandai posisi string yang akan di input.

fsetpos(FILE* stream, fpos_t* pos) berfungsi seperti mensabotase kata yang telah di atur fgetpos.


source code :
-------------------------------------------------------------------------------------------------------------------
#include <stdio.h>

int main ()
{
   FILE *fp;
   fpos_t position,posisi;

   fp = fopen("file.txt","w+");
   fgetpos(fp, &position);
   fputs("Helloo, World! ", fp);
   fgetpos(fp, &posisi);
   fputs("halo dunia", fp);

   fsetpos(fp, &position);
   fputs("This is ", fp); // kata ini akan menimpa kata Helloo, World!
   fsetpos(fp, &posisi);
   fputs("ini adalah aku ", fp);
 
   fclose(fp);
   return(0);
}
-------------------------------------------------------------------------------------------------------------------

gunakan source code ini untuk membuka file di CMD, klik disini.

hasil eksekusi file:
**********************************************************************

**********************************************************************

 perumpamaan fgetpos : "hello, world" adalah wilayah &position dan "halo dunia" adalah wilayah &posisi.

jadi seharunya kata yang terinput di file.txt adalah "Helloo, Yorld! halo dunia" tapi fungsi fsetpos mensabotase kata tersebut menjadi "This is World! ini adalah aku ".

kenapa masih ada tulisan World? karena kata "This is" lebih sedikit dari "Helloo, World!" jadi fsetpos tidak menimpa kalimat baru ke kalimat lama melainkan hanya menimpa sesuai jumlah huruf.

  baca juga : cara mempercepat copy-paste.


.

No comments:

Post a Comment