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ụ

Chương trình C sau 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:

Chạy chương trình

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ả:

Kết quả sau khi cạy chương trình

Theo Tutorialspoint

Bài trước: Hàm fflush() trong C

Bài tiếp: Hàm fopen() trong C

Thứ Ba, 28/08/2018 06:00
53 👨 800
Xác thực tài khoản!

Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:

Số điện thoại chưa đúng định dạng!
Số điện thoại này đã được xác thực!
Bạn có thể dùng Sđt này đăng nhập tại đây!
Lỗi gửi SMS, liên hệ Admin
0 Bình luận
Sắp xếp theo
❖
    ❖ Lập trình C
    Chia sẻ
    Chia sẻ FacebookChia sẻ Twitter
    Đóng