Computer >> Máy Tính >  >> Lập trình >> lập trình C

Giải thích các tệp truy cập ngẫu nhiên bằng ngôn ngữ C

Việc truy cập ngẫu nhiên các tệp bằng ngôn ngữ C có thể được thực hiện với sự trợ giúp của các chức năng sau -

  • ftell ()
  • tua lại ()
  • fseek ()

ftell ()

Nó trả về vị trí hiện tại của tệp ptr.

Cú pháp như sau -

int n = ftell (file pointer)

Ví dụ:

FILE *fp;
int n;
_____
_____
_____
n = ftell (fp);

Lưu ý - ftell () được sử dụng để đếm số ký tự được nhập vào một tệp.

tua lại ()

Nó làm cho tệp ptr chuyển đến đầu tệp.

Cú pháp như sau -

rewind (file pointer);

Ví dụ:

FILE *fp;
   -----
   -----
   rewind (fp);
   n = ftell (fp);
   printf ("%d”, n);

Đầu ra

Kết quả như sau -

0 (always).

fseek ()

Nó là làm cho tệp pntr trỏ đến một vị trí cụ thể trong tệp.

Cú pháp như sau -

fseek(file pointer, offset, position);

Chênh lệch

  • Không có vị trí nào được di chuyển khi đọc hoặc viết.
  • Nếu có thể là âm (hoặc) dương.
    • Tích cực - hướng về phía trước.
    • Hướng tiêu cực - quay ngược lại.

Chức vụ

Nó có thể có ba giá trị như sau -

  • 0 - Phần đầu của tệp.
  • 1 - Vị trí hiện tại.
  • 2 - Cuối tệp.

Ví dụ

  • fseek (fp, 0,2) - fp đã di chuyển về phía trước 0 byte từ cuối tệp.

  • fseek (fp, 0, 0) - fp đã di chuyển 0 byte về phía trước từ đầu tệp

  • fseek (fp, m, 0) - fp đã di chuyển m byte về phía trước từ đầu tệp.

  • fseek (fp, -m, 2) - fp đã di chuyển lùi m byte từ cuối tệp.

Lỗi

Các lỗi liên quan đến hàm fseek () như sau -

  • fseek (fp, -m, 0);
  • fseek (fp, + m, 2);