Hàm fsetpos() trong C | Thư viện C chuẩn




Hàm fsetpos() trong C

Hàm int fsetpos(FILE *stream, const fpos_t *pos) trong Thư viện C chuẩn thiết lập vị trí file của stream đã cho tới vị trí đã cho. Tham số pos là một vị trí được cung cấp bởi hàm fgetpos.

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

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

int fsetpos(FILE *stream, const 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 object chứa một vị trí được thu nhận trước đó với hàm fgetpos.

Trả về giá trị

Hàm này trả về giá trị 0 nếu thành công, hoặc nếu không nó trả về một giá trị khác 0 và thiết lập biến toàn cục errno tới một giá trị dương, mà có thể được thông dịch với perror.

Ví dụ

Chương trình C sau minh họa cách sử dụng của hàm fsetpos() 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("Dong nay se ghi de phan noi dung da co truoc do", fp);
   fclose(fp);
   
   return(0);
}

Biên dịch và chạy chương trình trên để tạo một baitapc.txt sẽ 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 fgetpos(), và sau đó chúng ta ghi Hello, World! trong file, sau đó chúng ta sử dụng hàm fsetpos() để phục hồi con trỏ ghi về đầu file và sau đó ghi đè file với nội dung sau:

Hàm fsetpos trong C

Bây giờ 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;

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

Hàm fsetpos trong C

Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS.

Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:

Các bạn có thể mua thêm khóa học JAVA CORE ONLINE VÀ ỨNG DỤNG cực hay, giúp các bạn vượt qua các dự án trên trường và đi thực tập Java. Khóa học có giá chỉ 300K, nhằm ưu đãi, tạo điều kiện cho sinh viên cho thể mua khóa học.

Nội dung khóa học gồm 16 chuơng và 100 video cực hay, học trực tiếp tại https://www.udemy.com/tu-tin-di-lam-voi-kien-thuc-ve-java-core-toan-tap/ Bạn nào có nhu cầu mua, inbox trực tiếp a Tuyền, cựu sinh viên Bách Khoa K53, fb: https://www.facebook.com/tuyen.vietjack

Follow facebook cá nhân Nguyễn Thanh Tuyền https://www.facebook.com/tuyen.vietjack để tiếp tục theo dõi các loạt bài mới nhất về Java,C,C++,Javascript,HTML,Python,Database,Mobile.... mới nhất của chúng tôi.

Các bài Thư viện C phổ biến khác tại VietJack:


stdio-h-trong-c.jsp