Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

อธิบายการสุ่มเข้าถึงไฟล์ในภาษาซี


การเข้าถึงไฟล์ในภาษา C แบบสุ่มสามารถทำได้โดยใช้ฟังก์ชันต่อไปนี้ -

  • ftell ( )
  • กรอกลับ ( )
  • fseek ( )

ftell ( )

ส่งกลับตำแหน่งปัจจุบันของไฟล์ ptr.

ไวยากรณ์มีดังนี้ −

int n = ftell (file pointer)

ตัวอย่างเช่น

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

หมายเหตุ − ftell ( ) ใช้สำหรับนับจำนวนอักขระที่ป้อนลงในไฟล์

กรอกลับ ( )

มันทำให้ไฟล์ ptr ย้ายไปที่จุดเริ่มต้นของไฟล์

ไวยากรณ์มีดังนี้ −

rewind (file pointer);

ตัวอย่างเช่น

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

ผลผลิต

ผลลัพธ์จะเป็นดังนี้ −

0 (always).

fseek ( )

เป็นการทำให้ไฟล์ ptr ชี้ไปยังตำแหน่งเฉพาะในไฟล์

ไวยากรณ์มีดังนี้ −

fseek(file pointer, offset, position);

ออฟเซ็ต

  • จำนวนตำแหน่งที่จะย้ายขณะอ่านหรือเขียน
  • ถ้าสามารถเป็นได้ทั้งค่าลบ (หรือ) ค่าบวก
    • ทิศทางบวก - ไปข้างหน้า
    • เชิงลบ – ทิศทางย้อนกลับ

ตำแหน่ง

สามารถมีค่าได้สามค่าซึ่งมีดังนี้ -

  • 0 – จุดเริ่มต้นของไฟล์
  • 1 – ตำแหน่งปัจจุบัน
  • 2 – สิ้นสุดไฟล์

ตัวอย่าง

  • fseek (fp,0,2) - fp ย้ายไปข้างหน้า 0 ไบต์จากจุดสิ้นสุดของไฟล์

  • fseek (fp, 0, 0) – fp ย้าย 0 ไบต์ไปข้างหน้าจากจุดเริ่มต้นของไฟล์

  • fseek (fp, m, 0) – fp ย้าย m ไบต์ไปข้างหน้าจากจุดเริ่มต้นของไฟล์

  • fseek (fp, -m, 2) – fp ย้าย m ไบต์ไปข้างหลังจากจุดสิ้นสุดของไฟล์

ข้อผิดพลาด

ข้อผิดพลาดที่เกี่ยวข้องกับฟังก์ชัน fseek () มีดังนี้ -

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