C ++ fseek () - C ++ Standard Library

Fungsi fseek () di C ++ menetapkan indikator posisi file untuk aliran file yang diberikan.

Fungsi fseek () didefinisikan dalam file header.

fseek () prototipe

 int fseek (FILE * stream, long offset, int origin);

Jika file dibuka dalam mode biner, posisi baru dari penunjuk file sama persis dengan byte dari asalnya.

Jika file dibuka dalam mode teks, nilai offset yang didukung adalah:

  • Nol: Ini berfungsi dengan nilai asal apa pun, yaitu SEEK_SET, SEEK_CUR, dan SEEK_END.
  • Nilai yang dikembalikan oleh panggilan ke ftell (stream): Ini hanya berfungsi dengan asal SEEK_SET.

Jika alirannya berorientasi lebar, pembatasan aliran teks dan biner diterapkan yaitu hasil dari ftell diperbolehkan dengan SEEK_SET dan offset nol diperbolehkan dari SEEK_SET dan SEEK_CUR, tetapi tidak SEEK_END.

Fungsi fseek juga membatalkan efek ungetc dan menghapus status akhir file, jika berlaku.

Jika terjadi kesalahan baca atau tulis, kesalahan diatur dan posisi file tidak terpengaruh.

fseek () Parameter

  • aliran: Aliran file yang akan diubah.
  • offset: Jumlah karakter yang akan dipindahkan dari aslinya.
  • origin: Posisi yang digunakan sebagai referensi untuk menambah offset. Itu dapat memiliki nilai-nilai berikut:
fseek () nilai asal
Nilai Deskripsi
SEEK_SET Awal file
SEEK_CUR Posisi penunjuk file saat ini
SEEK_END Akhir file

fseek () Nilai kembali

  • Jika berhasil, fungsi fseek () mengembalikan nol, bukan nol sebaliknya.

Contoh: Bagaimana fungsi fseek () bekerja?

 #include int main() ( FILE* fp = fopen("example.txt","w+"); char ch; fputs("Erica 25 Berlin", fp); rewind(fp); printf("Name: "); while((ch=fgetc(fp))!=' ') putchar(ch); putchar(''); printf("Age: "); fseek(fp,10,SEEK_SET); while((ch=fgetc(fp))!=' ') putchar(ch); putchar(''); printf("City: "); fseek(fp,15,SEEK_SET); while((ch=fgetc(fp))!=EOF) putchar(ch); putchar(''); fclose(fp); return 0; )

Saat Anda menjalankan program, hasilnya adalah:

 Nama: Erica Umur: 25 Kota: Berlin

Artikel yang menarik...