การเข้าถึงไฟล์ในภาษา 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);