Định nghĩa hàm fgetpos() trong C

Hàm int fgetpos(FILE *stream, fpos_t *pos) trong Thư viện C chuẩn lấy vị trí file hiện tại của Stream và ghi nó tới pos.

Khai báo hàm fgetpos() trong C

Dưới đây là phần khai báo cho hàm fgetpos() trong C:

int fgetpos(FILE *stream, fpos_t *pos)

Tham số

  • stream − Đây là con trỏ tới một đối tượng FILE mà nhận diện Stream.
  • pos − Đây là con trỏ tới một đối tượng fpos_t.

Trả về giá trị

  • Hàm này trả về 0 nếu thành công, và trả về giá trị khác 0 nếu có một lỗi.

Ví dụ minh họa cách sử dụng của hàm fgetpos() trong C:

#include <stdio.h>

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

   fp = fopen("baitapc.txt","w+");
   fgetpos(fp, &position);
   fputs("Hello, World!", fp);

   fsetpos(fp, &position);
   fputs("Noi dung nay se ghi de phan noi dung da co truoc trong file", fp);
   fclose(fp);

   return(0);
}

Biên dịch và chạy chương trình trên để tạo một baitapc.txt có nội dung sau. Đầu tiên chúng ta lấy vị trí ban đầu của file bởi sử dụng hàm fgetpost() và sau đó chúng ta ghi Hello, World! trong file này, sau đó chúng ta sử dụng hàm fsetpos() để phục hồi con trỏ ghi về vị trí đầu của file và sau đó ghi đè file với nội dung sau:

27image-4

Bây giờ bạn theo dõi nội dung của file trên bởi sử dụng chương trình C sau:

#include <stdio.h>

int main ()
{
   FILE *fp;
   int c;
   int n = 0;

   fp = fopen("baitapc.txt","r");

   while(1)
   {
      c = fgetc(fp);
      if( feof(fp) )
      {
         break ;
      }
      printf("%c", c);
   }

   fclose(fp);

   return(0);
}

Biên dịch và chạy chương trình C trên sẽ cho kết quả:

27image-1

Xem thêm:

Hướng dẫn học Thư viện C chuẩn:

Viết câu trả lời

Drop Images

0 Bình luận