SlideShare a Scribd company logo
1 of 37
Download to read offline
แฟ้มข้อมูล
แฟ้มข้อมูล (File) เป็นชุดข้อมูลที่ถูกเก็บไว้บนดิสก์ มี
การกาหนดชื่อส าหรับอ้างถึง ข้อมู ล (ไฟล์ ) โดยแบ่ง
ออกเป็น 2 ประเภท

1. ไฟล์ข้อความ (Text File) จะเป็นไฟล์ที่เก็บเฉพาะตัว
อักขระแอสกีเท่านั้น
2. ไฟล์ไบนารี (Binary File) เป็นกลุ่มข้อมูลขนาดหนึ่ง
ไบต์เรียงต่อกัน โดยการเก็บข้อมูลจะเป็นในรูปแบบ
เฉพาะของคอมพิวเตอร์ ซึ่งจะเป็นเลขฐานสอง
การเปิดและปิดไฟล์ (File Open/Close)
สิ่ ง แรกที่ ต้ อ งท าในการเขี ย นโปรแกรมให้ ท างานกั บ
ไฟล์ข้อมูลนั้น คือ การสร้างตัวแปรไฟล์พอยน์เตอร์ (File Pointer)
ซึ่งเป็นตัวแปรสาหรับชี้ไปยังตาแหน่งที่อยู่ของไฟล์ที่เราต้องการ
เพื่ออ้างอิงถึงไฟล์ข้อมูล ซึ่งมีรูปแบบดังนี้
FILE *filePointerName;
โดยที่ filePointerName เป็นชื่อตัวแปรไฟล์พอยน์เตอร์
! การสร้างตัวแปรไฟล์พอยน์เตอร์จะต้องเขียนคาว่า FILE เป็นตัว
ใหญ่เสมอ จากนั้นเว้นวรรคแล้วตามด้วยเครื่องหมาย * ซึ่งทั้งสองตัวนี้
จะเป็นการบ่งบอกถึงการสร้างตัวแปรไฟล์พอยน์เตอร์
การเปิดไฟล์ (File Open)
เมื่อเรามีตัวแปรสาหรับอ้างอิงถึงไฟล์ข้อมูลที่เราต้องการแล้ว
ต่อไปก็ต้องเปิดไฟล์ (File Open) นั้นขึ้นมาใช้งาน โดยเรียกผ่านฟังก์ชัน
fopen ซึ่งมีรูปแบบการใช้งานดังนี้
filePointerName = fopen(“fileName”,“mode”);
หรือ
filePointerName = fopen(“pathfileName”,“mode”);
โดยที่
filePointer เป็นชื่อตัวแปรไฟล์พอยน์เตอร์ที่เราสร้างขึ้นเพื่อชี้ไปยังไฟล์
filename
เป็นชื่อไฟล์ที่เราต้องการเปิด
pathFilename เป็นพาธที่อยู่ของไฟล์ที่ต้องการเปิด
mode
เป็นโหมดการทางานเกี่ยวกับไฟล์ที่เราเปิดใช้งานครั้งนี้
สาหรับโหมดการท างานเกี่ยวกับไฟล์ นั้น จะแยกออกเป็ น 2
กรณีคือ

1. กรณีทางานแบบ Text File

2. กรณีทางานแบบ Binary File
1. กรณีทางานแบบ Text File
โหมดการทางาน

การทางาน

r

เปิดไฟล์เพื่ออ่านข้อมูลอย่างเดียว (Reading)
•ถ้ามีไฟล์แล้ว ตัวไฟล์พอยน์เตอร์จะชี้ไปยังตาแหน่งต้นไฟล์
•ถ้าไม่มีไฟล์ จะแสดง Error Returned กลับมา

w

เปิดไฟล์เพื่อเขียนข้อมูลอย่างเดียว (Writing)
•ถ้ามีไฟล์แล้ว จะทาการลบข้อมูลไฟล์เดิมทิ้ง แล้วตัวไฟล์พอยน์เตอร์ก็จะชี้ไปยังตาแหน่งต้นไฟล์
(เขียนข้อมูลทับไฟล์เดิม)
•ถ้าไม่มีไฟล์ จะทาการสร้างไฟล์ใหม่ แล้วตัวไฟล์พอยน์เตอร์จะชี้ไปยังตาแหน่งต้นไฟล์

a

เปิดไฟล์เพื่อเขียนข้อมูลต่อท้ายไฟล์เดิมอย่างเดียว (Append)
•ถ้ามีไฟล์แล้ว ตัวไฟล์พอยน์เตอร์จะชี้ไปยังตาแหน่งท้ายไฟล์ (เขียนข้อมูลต่อท้ายไฟล์เดิม)
•ถ้าไม่มีไฟล์ จะทาการสร้างไฟล์ใหม่ แล้วตัวไฟล์พอยน์เตอร์จะชี้ไปยังตาแหน่งต้นไฟล์

r+

เปิดไฟล์เดิมที่มีอยู่แล้วเพื่ออ่านหรือเขียนข้อมูลทับไฟล์เดิม

w+

เปิดไฟล์เดิมที่มีอยู่แล้วเพื่ออ่านหรือเขียนข้อมูลทับไฟล์เดิม ถ้ายังไม่มีไฟล์ก็จะสร้างไฟล์ใหม่ขึ้นมา

a+

เปิดไฟล์เดิมที่มีอยู่แล้วเพื่ออ่านหรือเขียนข้อมูลต่อท้ายไฟล์
2. กรณีทางานแบบ Binary File
โหมดการทางาน

การทางาน

rb

เปิดไบนารีไฟล์เพื่ออ่านข้อมูลอย่างเดียว (Reading)
•ถ้ามีไฟล์แล้ว ตัวไฟล์พอยน์เตอร์จะชี้ไปยังตาแหน่งต้นไฟล์
•ถ้าไม่มีไฟล์ จะแสดง Error Returned กลับมา

wb

เปิดไบนารีไฟล์เพื่อเขียนข้อมูลอย่างเดียว (Writing)
•ถ้ามีไฟล์แล้ว จะทาการลบข้อมูลไฟล์เดิมทิ้ง แล้วตัวไฟล์พอยน์เตอร์ก็จะชี้ไปยังตาแหน่งต้นไฟล์
(เขียนข้อมูลทับไฟล์เดิม)
•ถ้าไม่มีไฟล์ จะทาการสร้างไฟล์ใหม่ แล้วตัวไฟล์พอยน์เตอร์จะชี้ไปยังตาแหน่งต้นไฟล์

ab

เปิดไบนารีไฟล์เพื่อเขียนข้อมูลต่อท้ายไฟล์เดิมอย่างเดียว (Append)
•ถ้ามีไฟล์แล้ว ตัวไฟล์พอยน์เตอร์จะชี้ไปยังตาแหน่งท้ายไฟล์ (เขียนข้อมูลต่อท้ายไฟล์เดิม)
•ถ้าไม่มีไฟล์ จะทาการสร้างไฟล์ใหม่ แล้วตัวไฟล์พอยน์เตอร์จะชี้ไปยังตาแหน่งต้นไฟล์

rb+ หรือ r+b

เปิดไบนารีไฟล์เดิมที่มีอยู่แล้วเพืออ่านหรือเขียนข้อมูลทับไฟล์เดิม
่

wb+ หรือ w+b

เปิดไบนารีไฟล์เดิมที่มีอยู่แล้วเพืออ่านหรือเขียนข้อมูลทับไฟล์เดิม ถ้ายังไม่มีไฟล์ก็จะสร้างไฟล์
่
ใหม่ขึ้นมา

ab+ หรือ a+b

เปิดไบนารีไฟล์เดิมที่มีอยู่แล้วเพืออ่านหรือเขียนข้อมูลต่อท้ายไฟล์
่
การปิดไฟล์ (File Close)
ในการเปิดไฟล์เพื่อเขียนหรือแก้ไขข้อมูลระบบปฏิบัติการจะมีการ
จองการใช้งานไฟล์นั้น ๆ ทาให้โปรแกรมอื่น ๆ ไม่สามารถเรียกใช้งาน
ไฟล์นั้น ดังนั้น ควรจะปิดไฟล์ทุกครั้งหลังจากทางานกับไฟล์นั้น ๆ เสร็จสิ้น
ในการปิดไฟล์ (File Close) นั้น จะต้องเรียกผ่านฟังก์ชัน fclose ซึ่งมี
รูปแบบการใช้งานดังนี้
fclose(filePointerName);

โดยที่
filePointerName เป็นชื่อตัวแปรไฟล์พอยน์เตอร์ที่เราสร้างขึ้นเพื่อชี้ไป
ยังไฟล์
การทางานกับ Text File
1

การอ่านข้อมูลจากไฟล์ทีละตัวอักษรด้วยฟังก์ชัน getc() และฟังก์ชัน fgetc()

2

การเขียนข้อมูลลงไฟล์ทีละตัวอักษรด้วยฟังก์ชัน putc() และฟังก์ชัน fputc()

3

การอ่านข้อมูลจากไฟล์ทีละบรรทัดด้วยฟังก์ชัน fgets()

4

การเขียนข้อความลงไฟล์ด้วยฟังก์ชัน fputs()

5

การอ่านข้อมูลจากไฟล์โดยใช้ฟงก์ชัน fscanf()
ั

6

การอ่านข้อมูลลงไฟล์ด้วยฟังก์ชัน fprintf()
การอ่านข้อมูลจากไฟล์ทีละตัวอักษรด้วยฟังก์ชัน getc() และฟังก์ชัน fgetc()
ในการอ่านข้อมูลจากไฟล์ทีละตัวอักษรนั้นจะใช้ฟังก์ชัน getc() หรือ
ฟังก์ชัน fgetc() โดยส่งตัวแปรไฟล์พอยน์เตอร์เข้าไปในฟังก์ชัน เพื่อ
กาหนดจุดเริ่มต้นของไฟล์ เมื่อไฟล์พอยน์เตอร์ทาการอ่านตัวอักษรใด ๆ
ออกมา 1 ตัว ไฟล์พอยน์เตอร์จะชี้ไปที่ตัวอักษรถัดไปทันที และเมื่ออ่าน
ข้อมูลจนจบไฟล์แล้ว ฟังก์ชัน getc() หรือฟังก์ชัน fgetc() จะคืนค่า EOF
กลับมาให้ฟังก์ชันที่เรียกใช้งาน
การอ่านข้อมูลจากไฟล์ทีละตัวอักษรด้วยฟังก์ชัน getc()
fgetc() มีรูปแบบการใช้งานฟังก์ชันดังนี้
ch = getc(filePointerName);
หรือ
ch = fgetc(filePointerName);

และฟังก์ชัน

โดยที่
filePointerName เป็นชื่อตัวแปรไฟล์พอยน์เตอร์ที่เราสร้างขึ้นเพื่อชี้ไป
ยังไฟล์ที่ต้องการอ่านข้อมูล
ch
เป็นตัวแปรชนิดตัวอักขระที่ใช้รบค่าข้อมูลจากฟังก์ชัน
การเขียนข้อมูลลงไฟล์ทละตัวอักษรด้วยฟังก์ชัน
ี
putc() และฟังก์ชัน fputc()
ในการเขียนข้อมูลลงไฟล์ทีละตัวอักษรนั้นจะใช้ฟังก์ชัน putc()
หรือฟังก์ชัน fputc() โดยส่งตัวแปรไฟล์พอยน์เตอร์ให้ฟังก์ชัน
เพื่อกาหนดจุดเริ่มต้นของไฟล์ เมื่อเขียนข้อมูลลงไฟล์เรียบร้อย
แล้วให้ปิดไฟล์ทุกครั้ง ถ้าการปิดไฟล์เกิดข้อผิดพลาดฟังก์ชันจะคืน
ค่า EOF กลับมา
ซึ่งมีรูปแบบการใช้งานดังนี้
putc(ch, filePointerName);
หรือ
fputc(ch, filePointerName);
โดยที่
filePointerName เป็นชื่อตัวแปรไฟล์พอยน์เตอร์ที่เราสร้างขึ้นเพื่อชี้ไป
ยังไฟล์ที่ต้องการเขียนข้อมูล
ch
เป็นตัวอักษรใด ๆ ที่จะเขียนลงในไฟล์
การอ่านข้อมูลจากไฟล์ทีละบรรทัดด้วยฟังก์ชัน fgets()
ในการอ่านข้อมูลจากไฟล์ทีละบรรทัดนั้นจะใช้ฟังก์ชัน
fgtes() ซึ่งในการทางานจะต้องส่งตัวแปรไฟล์พอยน์เตอร์
เข้าไปในฟังก์ชัน เพื่อกาหนดจุดเริ่มต้นของไฟล์ เมื่ออ่าน
ข้ อ มู ล ในบรรทั ด นั้ น เสร็ จ แล้ ว ไฟล์ พ อยน์ เ ตอร์ จ ะชี้ ไ ปที่
บรรทัดถัดไป เมื่ออ่านข้อมูลจากไฟล์เรียบร้อยแล้วให้ปิด
ไฟล์ทกครั้ง ถ้าการปิดไฟล์เกิดข้อผิดพลาดฟังก์ชันจะคืนค่า
ุ
EOF กลับมา
มีรูปแบบการใช้งานดังนี้
fgets(strName, length, filePointerName);
โดยที่ strName เป็นตัวแปรชนิด char ที่มารับข้อความที่อ่านได้จากไฟล์
length เป็นความยาวข้อความที่ต้องการอ่านจากไฟล์ ถ้า length
น้อยกว่าจานวนตัวอักษรที่บรรทัดนั้นก็จะอ่านข้อมูลที่บรรทัดนั้น ๆ หลาย
รอบ แต่ละรอบเท่ากับ length จนกว่าจะจบบรรทัด ถ้า length มากกว่า
จานวนตัวอักษรที่บรรทัดนั้นก็จะอ่านข้อมูลจบเพียงบรรทัดนั้น
filePointerName
การเขียนข้อความลงไฟล์ด้วยฟังก์ชัน fputs()
ในการเขียนข้อมูลลงไฟล์ทีละบรรทัดนั้นจะใช้ฟังก์ชัน fputs() ซึ่ง
ในการทางานจะต้องส่งตัวแปรไฟล์พอยน์เตอร์เข้าไปในฟังก์ชัน เพื่อ
กาหนดจุดเริ่มต้นของไฟล์ เมื่อเขียนข้อมูลลงบรรทัดใดเสร็จแล้ว ไฟล์
พอยน์เตอร์จะชี้ไปที่บรรทัดถัดไป เมื่อเขียนข้อมูลลงไฟล์เรียบร้อยแล้ว
ให้ปิดไฟล์ทุกครั้ง ถ้าการปิดไฟล์เกิดข้อผิดพลาดฟังก์ชันจะคืนค่า EOF
กลับมา ซึ่งมีรูปแบบการใช้งานดังนี้
fputs(str, filePointerName);
โดยที่
filePointerName เป็นชื่อตัวแปรไฟล์พอยน์เตอร์ที่เราสร้างขึ้นเพื่อชี้ไป
ยังไฟล์ท่ต้องการเขียนข้อมูล
ี
str เป็นตัวแปรชนิด char หรือข้อความที่ต้องการเขียนลงไฟล์
การอ่านข้อมูลจากไฟล์โดยใช้ฟังก์ชัน fscanf()
เป็นฟังก์ชันใช้สาหรับอ่านค่าข้อมูลที่มาจากไฟล์ ซึ่งตัวอักษร f
ที่อยู่หน้า scan เป็นการบ่งบอกถึงการอ่านค่ามาจากไฟล์
นั่นเอง ซึ่งมีรูปแบบการใช้งานดังนี้

fscanf(filePointerName, “string format”, &varName);
โดยที่
filePointerName เป็นชื่อตัวแปรไฟล์พอยน์เตอร์ที่เราสร้างขึ้น
เพื่อชี้ไปยังไฟล์ท่ต้องการเขียนข้อมูล
ี
zzz

string format
varName

เป็นรหัสรูปแบบของข้อความในภาษา C
เป็นตัวแปรเก็บข้อมูลที่ต้องการเขียนลงไฟล์
ซึ่งต้องมีชนิดข้อมูลตรงกับ string format
การเขียนข้อมูลลงไฟล์ด้วยฟังก์ชัน fprintf()
เป็นฟังก์ชันสาหรับแสดงหรือบันทึกข้อมูลลงไฟล์ ซึ่งตัวอกษร f ที่อยู่
หน้าคาว่า printf เป็นการบ่งบอกถึงให้ทาการแสดงหรือบันทึกไฟล์
นั่นเอง ซึ่งมีรูปแบบการใช้งานดังนี้
fprintf(filePointerName, “string format”, varName);

โดยที่
filePointerName เป็นชื่อตัวแปรไฟล์พอยน์เตอร์ที่เราสร้างขึ้นเพื่อชี้ไป
ยังไฟล์ท่ต้องการเขียนข้อมูล
ี
string format เป็นรหัสรูปแบบของข้อความในภาษา C
varName
เป็นตัวแปรเก็บข้อมูลที่ต้องการเขียนลงไฟล์ ซึ่งต้องมี
ชนิดข้อมูลตรงกับ string format
ตารางรหัสรูปแบบข้อมูล input และ output
รหัสรูปแบบ

ความหมาย

%c
%d
%ld

ใช้แทนค่าตัวแปรตัวอกษรตัวเดียว (char)
ใช้แทนค่าตัวแปรจานวนเต็ม (int)
ใช้แทนค่าตัวแปรจานวนเต็ม (long int)

%hd
%u
%hu
%lu
%o
%ho
%lo

ใช้แทนค่าตัวแปรจานวนเต็ม (short int)
ใช้แทนค่าตัวแปรที่เก็บค่าเป็นจานวนเต็มบวก (unsigned int)
ใช้แทนค่าตัวแปรจานวนเต็มแบบไม่คิดเครื่องหมาย (unsigned short int)
ใช้แทนค่าตัวแปรจานวนเต็มแบบไม่คิดเครื่องหมาย (unsigned long int)
ใช้แทนค่าตัวแปรในรูปฐานแปด (int)
ใช้แทนค่าตัวแปรในรูปฐานแปด (short)
ใช้แทนค่าตัวแปรในรูปฐานแปด (long)
ตารางรหัสรูปแบบข้อมูล input และ output (ต่อ)
รหัสรูปแบบ
%x หรือ %X
%hx หรือ %hX
%lx หรือ %lX
%f
%lf
%Lf
%e, %E, %g หรือ %G
%le, %lE, %lg หรือ %lG
%Le, %LE, %Lg หรือ %LG
%s
%p
%%

ความหมาย
ใช้แทนค่าตัวแปรในรูปฐานสิบหก (int)
ใช้แทนค่าตัวแปรในรูปฐานสิบหก (short)
ใช้แทนค่าตัวแปรในรูปฐานสิบหก (long)
ใช้แทนค่าตัวแปรจานวนจริง ที่เป็นทศนิยม (float)
ใช้แทนค่าตัวแปรจานวนจริง ที่เป็นทศนิยม (double)
ใช้แทนค่าตัวแปรจานวนจริง ที่เป็นทศนิยม (long double)
ใช้แทนค่าตัวแปรจานวนจริง (float) ออกมาในรูป e ยกกาลัง หรือเอ็กซ์โปเนนต์
ใช้แทนค่าตัวแปรจานวนจริง (double) ออกมาในรูป e ยกกาลัง หรือเอ็กซ์โปเนนต์
ใช้แทนค่าตัวแปรจานวนจริง (long double) ออกมาในรูป e ยกกาลัง หรือเอ็กซ์โปเนนต์

ใช้แทนค่าตัวแปรที่เก็บค่าเป็นสตริง หรือตัวแปรชุดตัวอักษร (string)

ใช้แทนตาแหน่งพอยน์เตอร์
แทนเครื่องหมาย %
ตารางรหัสควบคุมการแสดงผล (Escape Sequence)
รหัสรูปแบบ

ความหมาย

o

แทนค่าว่าง หรือค่า null

’
”


แทนสัญลักษณ์พิเศษ ’
แทนสัญลักษณ์พิเศษ ”
แทนสัญลักษณ์พิเศษ 

a
b
f
n
r
t
v

ส่งเสียงกริ่งบิ๊บสั้น ๆ (bell sound)
เลื่อนกลับไปหนึ่งตัวอักษร
ขึ้นหน้าใหม่
ขึ้นบรรทัดใหม่
นาเคอร์เซอร์ไปต้นบรรทัด
แท็บตามแนวนอนจากซ้ายไปขวา (6 ตัวอักษร)
แท็บตามแนวตั้งจากบนลงล่าง (6 ตัวอักษร)
การทางานกับ Binary File

Binary file จะเก็บข้อมูลในลักษณะรูปแบบทางคอมพิวเตอร์เป็น
เลขฐานสอง และในการทางานเกี่ยวกับ Binary file ต่างจาก Text File
ตรงที่เราจะต้องระบุจานวนไบต์ที่ต้องการทางาน มี 2 รูปแบบดังนี้
1. การอ่านข้อมูลจากไฟล์ด้วยฟังก์ชัน fread()

2. การเขียนข้อมูลลงไฟล์ด้วยฟังก์ชัน fwrite()
การอ่านข้อมูลจากไฟล์ด้วยฟังก์ชัน fread()
ในการอ่านข้อมูลจาก Binary file จะต้องกาหนดขนาดของ
ข้อมูลและจานวนข้อมูลที่อ่านขึ้นมา เพื่อให้สามารถอ่านข้อมูลได้อย่าง
ถูกต้อง ฟังก์ชัน fread() นี้จะคล้ายกับฟังก์ชัน fscan() เพียงแต่ฟังก์ชัน
fread() จะเหมาะสาหรับการอ่านไฟล์ในประเภท Binary File ซึ่งจะมี
รูปแบบการใช้งานดังนี้
fread(&variableNmae, size, count, filePointerName);
!

ฟังก์ชัน fread() จะคืนค่าเลขจานวนเต็มเป็นจานวน byte ที่
อ่านได้จากไฟล์ และจะคืนค่าเป็น 0 เมื่ออ่านจนสิ้นสุดไฟล์แล้ว (EOF)
โดยที่
&variableName เป็นตาแหน่งตัวแปร struct หรือ array ใน
หน่วยความจาที่ใช้เก็บค่าที่อ่านได้จากไฟล์
size
เป็นขนาดของตัวแปร struct หรือ array โดยมีหน่วย
เป็นไบต์ ซึ่งสามารถหาได้จากฟังก์ชัน sizeof(data
type); หรือ sizeof(variable name);
count
เป็นจานวนครั้งที่ต้องการอ่านข้อมูลจากไฟล์
filePointerName เป็นชื่อตัวแปรไฟล์พอยน์เตอร์ที่เราสร้างขึ้นเพื่อชี้ไปยัง
ไฟล์ที่ต้องการอ่านข้อมูล
การเขียนข้อมูลลงไฟล์ด้วยฟังก์ชัน fwrite()
ฟังก์ชัน fwrite() นี้จะคล้ายกับฟังก์ชัน fprintf() เพียงแต่ฟังก์ชัน
fwrite() จะใช้สาหรับการเขียนไฟล์ในประเภท Binary File ซึ่งมีรูปแบบ
ดังนี้ fwrite(&variableNmae, size, count, filePointerName);
โดยที่
variableName เป็นตาแหน่งตัวแปร struct หรือ array ใน
หน่วยความจาที่ต้องการเขียนลงไฟล์
size
เป็นขนาดของตัวแปร struct หรือ array โดย
มีหน่วยเป็นไบต์ ซึ่งสามารถหาได้จากฟังก์ชัน
sizeof(data type); หรือ sizeof(variable name);
count
เป็นจานวนครั้งที่ต้องการเขียนข้อมูลลงไฟล์
filePointerName เป็นชื่อตัวแปรไฟล์พอยน์เตอร์ที่เราสร้างขึ้นเพื่อชี้ไป
ยังไฟล์ที่ต้องการเขียนข้อมูล
การตรวจสอบสถานะของไฟล์ (File Status Function)
การตรวจสอบสถานะของไฟล์ (File Status Function) เป็นการ
ตรวจสอบการทางานของโปรแกรมกับไฟล์ว่าขณะนั้นไฟล์พอยน์เตอร์มีการ
ทางานกับไฟล์อย่างไร ไม่ว่าจะเป็นการตรวจสอบว่า อ่านข้อมูลจบไฟล์แล้ว
หรือไม่ เกิดข้อผิดพลาดในการทางานกบไฟล์หรือไม่ เป็นต้น มี 5 รูปแบบ
ดังนี้
1 การตรวจสอบ EOF (End of File) ด้วยฟังก์ชัน feof()
2 การตรวจสอบ Error ที่เกิดขึ้นกับไฟล์ด้วยฟังก์ชัน ferror()
3 การหาตาแหน่งที่อยู่ของไฟล์พอยน์เตอร์ด้วยฟังก์ชัน ftell()
4 การย้ายตาแหน่งไฟล์พอยน์เตอร์ไปยังตาแหน่งต้นไฟล์ด้วยฟังก์ชัน rewind()
5 การย้ายตาแหน่งไฟล์พอยน์เตอร์ด้วยฟังก์ชัน fseek()
การตรวจสอบ EOF (End of File) ด้วยฟังก์ชน feof()
ั
เราสามารถตรวจสอบว่าตอนนี้ไฟล์พอยน์เตอร์ชี้ที่ตาแหน่งท้ายสุด
ของไฟล์แล้วหรือไม่ (end of file) สามารถตรวจสอบได้โดยการเรียกใช้
ฟังกัน feof() โดยมีรูปแบบการใช้งานดังนี้
feof(filePointerName);

โดยที่
filePointerName
!

เป็นชื่อตัวแปรไฟล์พอยน์เตอร์ที่เราสร้างขึ้นเพื่อชี้ไป
ยังไฟล์ท่ต้องการตรวจสอบ
ี

การทางานของฟังก์ชัน feof() จะคืนค่ากลับมาเป็น integer ซึ่ง
เมื่อไหร่ก็ตามที่คืนค่าเป็น 0 แสดงว่าพอยน์เตอร์ชี้ที่ตาแหน่งท้ายสุดของ
ไฟล์แล้ว
การตรวจสอบ Error ที่เกิดขึ้นกับไฟล์ด้วยฟังก์ชัน ferror()
ในการตรวจสอบ Error ที่เกิดขึ้นกับไฟล์ เราสามารถตรวจสอบ
ได้โดยใช้ฟังก์ชัน ferror() โดยมีรูปแบบการใช้งานดังนี้
Ferror(filePointerName);
โดยที่
filePointerName
!

เป็นชื่อตัวแปรไฟล์พอยน์เตอร์ที่เราสร้างขึ้นเพื่อชี้ไป
ยังไฟล์ที่ต้องการตรวจสอบ

การทางานของฟังก์ชัน feof() จะคืนค่ากลับมาเป็น integer ซึ่ง
เมื่อไหร่ก็ตามที่คืนค่าเป็น 0 แสดงว่าพอยน์เตอร์ชี้ที่ตาแหน่งท้ายสุดของ
ไฟล์แล้ว
การหาตาแหน่งที่อยู่ของไฟล์พอยน์เตอร์ด้วยฟังก์ชัน ftell()
เราสามารถหาตาแหน่งที่อยู่ของไฟล์พอยเตอร์จากไฟล์ที่ใช้งานอยู่ได้
โดยเรียกใช้ฟังก์ชัน ftell() มีรูปแบบการใช้งานดังนี้
ftell(filePointerName);
โดยที่
filePointerName

เป็นชื่อตัวแปรไฟล์พอยน์เตอร์ที่เราสร้างขึ้นเพื่อชี้ไป
ยังไฟล์ที่ต้องการหาตาแหน่งไฟล์พอยน์เตอร์
การย้ายตาแหน่งไฟล์พอยน์เตอร์ไปยังตาแหน่งต้นไฟล์ด้วยฟังก์ชัน rewind()
ในการย้ายตาแหน่งไฟล์พอยน์เตอร์ไปยังตาแหน่งต้นไฟล์ สามารถทา
ได้โดยเรียกใช้ฟังก์ชัน rewind() โดยมีรูปแบบการใช้งานดังนี้
rewind(filePointerName);
โดยที่
filePointerName

เป็นชื่อตัวแปรไฟล์พอยน์เตอร์ที่เราสร้างขึ้นเพื่อชี้ไป
ยังไฟล์ที่ต้องการย้ายตาแหน่งไฟล์พอยน์เตอร์
การย้ายตาแหน่งไฟล์พอยน์เตอร์ด้วยฟังก์ชัน fseek()
ในการย้ายตาแหน่งไฟล์พอยน์เตอร์ไปยังตาแหน่งต่าง ๆ ในไฟล์
สามารถทาได้โดยเรียกใช้ฟังก์ชัน fseek() โดยมีรูปแบบการใช้งานดังนี้
fseek(filePointerName, long offset, formatSeek);
โดยที่
filePointerName
long offset
formatSeek

เป็นชื่อตัวแปรไฟล์พอยน์เตอร์ที่เราสร้างขึ้นเพื่อชี้ไป
ยังไฟล์ที่ต้องการย้ายตาแหน่งไฟล์พอยน์เตอร์
เป็นความยาวของ offset ที่ต้องการย้ายตาแหน่ง
ไฟล์พอยน์เตอร์
เป็นรูปแบบการใช้งานฟังก์ชัน fseek()
รูปแบบการใช้งานฟังก์ชัน fseek()
รูปแบบ
SEEK_SET
SEEK_CUR
SEEK_END

ค่าคงที่
0
1
2

การใช้งาน
ไฟล์พอยน์เตอร์จะเริ่มชี้ที่ตาแหน่งต้นไฟล์
ไฟล์พอยน์เตอร์จะเริ่มชี้จากตาแหน่งปัจจุบน
ั
ไฟล์พอยน์เตอร์จะเริ่มชี้ที่ตาแหน่งท้ายไฟล์
การดาเนินการเกี่ยวกับไฟล์ (File Operation)
เมื่อสร้างและทางานต่าง ๆ ตามที่ต้องการกับไฟล์ได้แล้วนั้น ใน
บางครั้งเราอาจจะต้องการลบไฟล์นั้นทิ้งไป เมื่อใช้งานเสร็จเรียบร้อย
แล้ว หรือแก้ไขชื่อไฟล์นั้น ๆ ตามที่ต้องการ มี 2 หัวข้อดังนี้
• การลบไฟล์
• การเปลี่ยนชื่อไฟล์
การลบไฟล์
เราสามารถที่ จะลบไฟล์ที่ ไ ม่ ต้องการใช้ ง านแล้ วได้โ ดยการเรีย กใช้
ฟังก์ชัน remove() โดยมีรูปแบบการใช้งานดังนี้
remove(“fileName”);
หรือ
remove(“pathFilename”);
โดยที่
fileName
เป็นชื่อไฟล์ที่เราต้องการลบ
pathFilename เป็นพาธที่อยู่และชื่อของไฟล์ที่ต้องการลบ
! การทางานของฟังก์ชัน remove() จะคืนค่ากลับมาเป็น integer ซึ่ง

เมื่อไหร่ก็ตามที่คืนค่าเป็น 0 แสดงว่าไม่มีข้อผิดพลาด (Error) เกิดขึ้น
การเปลี่ยนชื่อไฟล์
เราสามารถที่จะเปลี่ยนชื่อไฟล์ที่ต้องการ ได้โดยการเรียกใช้ฟังก์ชัน
rename() โดยมีรูปแบบการใช้งานดังนี้
rename(“fileNameOld”, “fileNameNew”);
หรือ
rename(“pathFilenameOld”, “fileNameNew”);
โดยที่ filenameOld
เป็นชื่อไฟล์เดิมที่ต้องการเปลี่ยนชื่อ
filenameNew
เป็นชื่อไฟล์ใหม่ที่ต้องการเปลี่ยนชื่อ
pathFileNameOld เป็นพาธที่อยู่ไฟล์เดิมที่ต้องการเปลี่ยนชื่อ
pathFileNameNew เป็นพาธที่อยู่ไฟล์ใหม่ที่ต้องการเปลี่ยนชื่อ
! การทางานของฟังก์ชัน remove() จะคืนค่ากลับมาเป็น integer ซึ่ง

เมื่อไหร่ก็ตามที่คืนค่าเป็น 0 แสดงว่าไม่มีข้อผิดพลาด (Error) เกิดขึ้น
ที่มา : คู่มืออบรมครูวิทยาศาสตร์ คณิตศาสตร์ คอมพิวเตอร์ โลก ดาราศาสตร์ และอวกาศ ระดับมัธยมศึกษาตอนปลาย
หนังสือเรียนรายวิชาเพิ่มเติม การเขียนโปรแกรมเบื้องต้นด้วยภาษา C บริษทซัคเซสมีเดีย
คู่มือเรียนเขียนโปรแกรมภาษา สานักพิมพ์ IDC PREMIER

More Related Content

What's hot

วิธีการสืบค้นและเทคนิคการค้นคืน
วิธีการสืบค้นและเทคนิคการค้นคืนวิธีการสืบค้นและเทคนิคการค้นคืน
วิธีการสืบค้นและเทคนิคการค้นคืน
Srion Janeprapapong
 
หน่วยการเรียนรู้ที่ 4 อินเทอร์เน็ต(แก้ไข)
หน่วยการเรียนรู้ที่ 4  อินเทอร์เน็ต(แก้ไข)หน่วยการเรียนรู้ที่ 4  อินเทอร์เน็ต(แก้ไข)
หน่วยการเรียนรู้ที่ 4 อินเทอร์เน็ต(แก้ไข)
Prapatsorn Keawnoun
 
หน่วยที่ 01
หน่วยที่ 01หน่วยที่ 01
หน่วยที่ 01
Nuytoo Naruk
 
อินเตอเนต3 4
อินเตอเนต3 4อินเตอเนต3 4
อินเตอเนต3 4
peter dontoom
 

What's hot (14)

วิธีการสืบค้นและเทคนิคการค้นคืน
วิธีการสืบค้นและเทคนิคการค้นคืนวิธีการสืบค้นและเทคนิคการค้นคืน
วิธีการสืบค้นและเทคนิคการค้นคืน
 
ระบบ MS-DOS
ระบบ MS-DOSระบบ MS-DOS
ระบบ MS-DOS
 
การเขียนบรรณานุกรม
การเขียนบรรณานุกรมการเขียนบรรณานุกรม
การเขียนบรรณานุกรม
 
Search
SearchSearch
Search
 
หน่วยการเรียนรู้ที่ 4 อินเทอร์เน็ต(แก้ไข)
หน่วยการเรียนรู้ที่ 4  อินเทอร์เน็ต(แก้ไข)หน่วยการเรียนรู้ที่ 4  อินเทอร์เน็ต(แก้ไข)
หน่วยการเรียนรู้ที่ 4 อินเทอร์เน็ต(แก้ไข)
 
01 demon-ingenta
01 demon-ingenta01 demon-ingenta
01 demon-ingenta
 
Iel
IelIel
Iel
 
Ucofthailand
UcofthailandUcofthailand
Ucofthailand
 
Comandtechno3
Comandtechno3Comandtechno3
Comandtechno3
 
หน่วยที่ 01
หน่วยที่ 01หน่วยที่ 01
หน่วยที่ 01
 
Untitled
UntitledUntitled
Untitled
 
ระบบปฏิบัติการ MS-DOS
ระบบปฏิบัติการ MS-DOSระบบปฏิบัติการ MS-DOS
ระบบปฏิบัติการ MS-DOS
 
อินเตอเนต3 4
อินเตอเนต3 4อินเตอเนต3 4
อินเตอเนต3 4
 
Work3 14
Work3 14Work3 14
Work3 14
 

Viewers also liked

Квест "Великие люди Германии"
Квест "Великие люди Германии"Квест "Великие люди Германии"
Квест "Великие люди Германии"
Bonny Rainbow
 
Trabajo pulga de lava
Trabajo pulga de lavaTrabajo pulga de lava
Trabajo pulga de lava
anthoni_2001
 
POV _ Premium Motorcycle Market India
POV _ Premium Motorcycle Market IndiaPOV _ Premium Motorcycle Market India
POV _ Premium Motorcycle Market India
Jatin Bhardwaj
 
Site vs. Religious Value
Site vs. Religious ValueSite vs. Religious Value
Site vs. Religious Value
sherbosareyes
 
Video gaming
Video gamingVideo gaming
Video gaming
ZrZooR
 
6 network devices
6 network devices6 network devices
6 network devices
Muuluu
 

Viewers also liked (18)

งานทำ Blog บทที่ 11
งานทำ Blog บทที่ 11งานทำ Blog บทที่ 11
งานทำ Blog บทที่ 11
 
งานทำBlog บทที่ 10
งานทำBlog บทที่ 10งานทำBlog บทที่ 10
งานทำBlog บทที่ 10
 
Квест "Великие люди Германии"
Квест "Великие люди Германии"Квест "Великие люди Германии"
Квест "Великие люди Германии"
 
Trabajo pulga de lava
Trabajo pulga de lavaTrabajo pulga de lava
Trabajo pulga de lava
 
POV _ Premium Motorcycle Market India
POV _ Premium Motorcycle Market IndiaPOV _ Premium Motorcycle Market India
POV _ Premium Motorcycle Market India
 
Site vs. Religious Value
Site vs. Religious ValueSite vs. Religious Value
Site vs. Religious Value
 
Aizuソーシャルファブ1111
Aizuソーシャルファブ1111Aizuソーシャルファブ1111
Aizuソーシャルファブ1111
 
Video gaming
Video gamingVideo gaming
Video gaming
 
Cac pp danh gia hieu qua du an
Cac pp danh gia hieu qua du an Cac pp danh gia hieu qua du an
Cac pp danh gia hieu qua du an
 
Portada dollar
Portada dollarPortada dollar
Portada dollar
 
青春基地ローンチ記念イベント
青春基地ローンチ記念イベント青春基地ローンチ記念イベント
青春基地ローンチ記念イベント
 
Competitve analysis dunkin donuts
Competitve analysis dunkin donutsCompetitve analysis dunkin donuts
Competitve analysis dunkin donuts
 
ジカ熱を知り、ジカ熱に備えよう!
ジカ熱を知り、ジカ熱に備えよう!ジカ熱を知り、ジカ熱に備えよう!
ジカ熱を知り、ジカ熱に備えよう!
 
6 network devices
6 network devices6 network devices
6 network devices
 
L 1 intro to mass communication
L 1   intro to mass communicationL 1   intro to mass communication
L 1 intro to mass communication
 
Yy
YyYy
Yy
 
3.2 ตัวแปรและคำสงวน
3.2 ตัวแปรและคำสงวน3.2 ตัวแปรและคำสงวน
3.2 ตัวแปรและคำสงวน
 
3.8 การทำงานตามลำดับ
3.8 การทำงานตามลำดับ3.8 การทำงานตามลำดับ
3.8 การทำงานตามลำดับ
 

Similar to งานทำ Blog บทที่ 12

ใบความรู้ที่ 2.4 ขั้นตอนการสร้างเว็บhtml
ใบความรู้ที่ 2.4 ขั้นตอนการสร้างเว็บhtmlใบความรู้ที่ 2.4 ขั้นตอนการสร้างเว็บhtml
ใบความรู้ที่ 2.4 ขั้นตอนการสร้างเว็บhtml
Smo Tara
 
นางสาว มลทิรา เอกกุล ม.5
นางสาว มลทิรา   เอกกุล ม.5นางสาว มลทิรา   เอกกุล ม.5
นางสาว มลทิรา เอกกุล ม.5
miwmilk
 
นางสาวมลทิรา เอกกุล ม.5
นางสาวมลทิรา   เอกกุล ม.5นางสาวมลทิรา   เอกกุล ม.5
นางสาวมลทิรา เอกกุล ม.5
miwmilk
 
นางสาวมลทิรา เอกกุล
นางสาวมลทิรา  เอกกุลนางสาวมลทิรา  เอกกุล
นางสาวมลทิรา เอกกุล
miwmilk
 
นวลลออ ถาวรโรจน์เสถียร เลขที่20 ม.5
นวลลออ ถาวรโรจน์เสถียร เลขที่20 ม.5นวลลออ ถาวรโรจน์เสถียร เลขที่20 ม.5
นวลลออ ถาวรโรจน์เสถียร เลขที่20 ม.5
Nuanlaor Nuan
 
เทอม 1 คาบ 5การจัดเก็บข้อมูล
เทอม 1 คาบ 5การจัดเก็บข้อมูลเทอม 1 คาบ 5การจัดเก็บข้อมูล
เทอม 1 คาบ 5การจัดเก็บข้อมูล
Mrpopovic Popovic
 
Lecture1 การประมวลผลข้อมูล และฐานข้อมูล
Lecture1 การประมวลผลข้อมูล และฐานข้อมูลLecture1 การประมวลผลข้อมูล และฐานข้อมูล
Lecture1 การประมวลผลข้อมูล และฐานข้อมูล
skiats
 

Similar to งานทำ Blog บทที่ 12 (20)

9.1 9.10
9.1  9.109.1  9.10
9.1 9.10
 
บทที่ 9
บทที่ 9บทที่ 9
บทที่ 9
 
ใบความรู้ที่ 2.4 ขั้นตอนการสร้างเว็บhtml
ใบความรู้ที่ 2.4 ขั้นตอนการสร้างเว็บhtmlใบความรู้ที่ 2.4 ขั้นตอนการสร้างเว็บhtml
ใบความรู้ที่ 2.4 ขั้นตอนการสร้างเว็บhtml
 
นางสาว มลทิรา เอกกุล ม.5
นางสาว มลทิรา   เอกกุล ม.5นางสาว มลทิรา   เอกกุล ม.5
นางสาว มลทิรา เอกกุล ม.5
 
นางสาวมลทิรา เอกกุล ม.5
นางสาวมลทิรา   เอกกุล ม.5นางสาวมลทิรา   เอกกุล ม.5
นางสาวมลทิรา เอกกุล ม.5
 
นางสาวมลทิรา เอกกุล
นางสาวมลทิรา  เอกกุลนางสาวมลทิรา  เอกกุล
นางสาวมลทิรา เอกกุล
 
เอกสารประกอบการบรรยาย : File and Folder Management
เอกสารประกอบการบรรยาย : File and Folder Managementเอกสารประกอบการบรรยาย : File and Folder Management
เอกสารประกอบการบรรยาย : File and Folder Management
 
นวลลออ ถาวรโรจน์เสถียร เลขที่20 ม.5
นวลลออ ถาวรโรจน์เสถียร เลขที่20 ม.5นวลลออ ถาวรโรจน์เสถียร เลขที่20 ม.5
นวลลออ ถาวรโรจน์เสถียร เลขที่20 ม.5
 
Ch11th
Ch11thCh11th
Ch11th
 
Work44
Work44Work44
Work44
 
เทอม 1 คาบ 5การจัดเก็บข้อมูล
เทอม 1 คาบ 5การจัดเก็บข้อมูลเทอม 1 คาบ 5การจัดเก็บข้อมูล
เทอม 1 คาบ 5การจัดเก็บข้อมูล
 
ตัวแปรและคำสงวน
ตัวแปรและคำสงวนตัวแปรและคำสงวน
ตัวแปรและคำสงวน
 
ตัวแปรและคำสงวน
ตัวแปรและคำสงวนตัวแปรและคำสงวน
ตัวแปรและคำสงวน
 
หน่วยการเรียนรู้ที่ 2 โปรแกรมการจัดการฐานข้อมูลวิชา การจัดการฐานข้อมูล
หน่วยการเรียนรู้ที่ 2 โปรแกรมการจัดการฐานข้อมูลวิชา การจัดการฐานข้อมูลหน่วยการเรียนรู้ที่ 2 โปรแกรมการจัดการฐานข้อมูลวิชา การจัดการฐานข้อมูล
หน่วยการเรียนรู้ที่ 2 โปรแกรมการจัดการฐานข้อมูลวิชา การจัดการฐานข้อมูล
 
Lecture1 การประมวลผลข้อมูล และฐานข้อมูล
Lecture1 การประมวลผลข้อมูล และฐานข้อมูลLecture1 การประมวลผลข้อมูล และฐานข้อมูล
Lecture1 การประมวลผลข้อมูล และฐานข้อมูล
 
Java-Chapter 06 File Operations
Java-Chapter 06 File OperationsJava-Chapter 06 File Operations
Java-Chapter 06 File Operations
 
การใช้งาน Ms office 2010
การใช้งาน Ms office 2010การใช้งาน Ms office 2010
การใช้งาน Ms office 2010
 
คู่มือWord2007
คู่มือWord2007คู่มือWord2007
คู่มือWord2007
 
53011220072
5301122007253011220072
53011220072
 
work 3 -6
work 3 -6work 3 -6
work 3 -6
 

More from รัสนา สิงหปรีชา

More from รัสนา สิงหปรีชา (20)

บทที่ 6-การใช้งานเทคโนโลยีสารสนเทศอย่างมีความรับผิดชอบ
บทที่ 6-การใช้งานเทคโนโลยีสารสนเทศอย่างมีความรับผิดชอบบทที่ 6-การใช้งานเทคโนโลยีสารสนเทศอย่างมีความรับผิดชอบ
บทที่ 6-การใช้งานเทคโนโลยีสารสนเทศอย่างมีความรับผิดชอบ
 
บทที่ 1 เทคโนโลยีสมัยใหม่เอาลงบล๊อก
บทที่ 1 เทคโนโลยีสมัยใหม่เอาลงบล๊อกบทที่ 1 เทคโนโลยีสมัยใหม่เอาลงบล๊อก
บทที่ 1 เทคโนโลยีสมัยใหม่เอาลงบล๊อก
 
3.1 การทำงานขั้นพื้นฐานของคอมพิวเตอร์
3.1 การทำงานขั้นพื้นฐานของคอมพิวเตอร์3.1 การทำงานขั้นพื้นฐานของคอมพิวเตอร์
3.1 การทำงานขั้นพื้นฐานของคอมพิวเตอร์
 
3.1 การทำงานขั้นพื้นฐานของคอมพิวเตอร์
3.1 การทำงานขั้นพื้นฐานของคอมพิวเตอร์3.1 การทำงานขั้นพื้นฐานของคอมพิวเตอร์
3.1 การทำงานขั้นพื้นฐานของคอมพิวเตอร์
 
3.1 องค์ประกอบของคอมพิวเตอร์
3.1 องค์ประกอบของคอมพิวเตอร์3.1 องค์ประกอบของคอมพิวเตอร์
3.1 องค์ประกอบของคอมพิวเตอร์
 
บทที่ 2 ข้อมูล สารสนเทศ และความรู้
บทที่ 2  ข้อมูล สารสนเทศ และความรู้บทที่ 2  ข้อมูล สารสนเทศ และความรู้
บทที่ 2 ข้อมูล สารสนเทศ และความรู้
 
3.8 การทำงานแบบลำดับ
3.8 การทำงานแบบลำดับ3.8 การทำงานแบบลำดับ
3.8 การทำงานแบบลำดับ
 
3.8 การทำงานตามลำดับ
3.8 การทำงานตามลำดับ3.8 การทำงานตามลำดับ
3.8 การทำงานตามลำดับ
 
3.3. ชนิดของข้อมูล
3.3. ชนิดของข้อมูล3.3. ชนิดของข้อมูล
3.3. ชนิดของข้อมูล
 
3.3. ชนิดของข้อมูล
3.3. ชนิดของข้อมูล3.3. ชนิดของข้อมูล
3.3. ชนิดของข้อมูล
 
3.3. ชนิดของข้อมูล
3.3. ชนิดของข้อมูล3.3. ชนิดของข้อมูล
3.3. ชนิดของข้อมูล
 
3.2 ตัวแปรและคำสงวน
3.2 ตัวแปรและคำสงวน3.2 ตัวแปรและคำสงวน
3.2 ตัวแปรและคำสงวน
 
คู่มือนักเรียน 3.1
คู่มือนักเรียน 3.1คู่มือนักเรียน 3.1
คู่มือนักเรียน 3.1
 
คู่มือครู
คู่มือครูคู่มือครู
คู่มือครู
 
3.1 โครงสร้างของภาษาซี
3.1 โครงสร้างของภาษาซี3.1 โครงสร้างของภาษาซี
3.1 โครงสร้างของภาษาซี
 
3.8 การทำงานตามลำดับ
3.8 การทำงานตามลำดับ3.8 การทำงานตามลำดับ
3.8 การทำงานตามลำดับ
 
3.7 การเขียนผังงาน
3.7 การเขียนผังงาน3.7 การเขียนผังงาน
3.7 การเขียนผังงาน
 
3.6 ฟังก์ชัน
3.6 ฟังก์ชัน3.6 ฟังก์ชัน
3.6 ฟังก์ชัน
 
3.5 การแสดงผลและการรับข้อมูล
3.5 การแสดงผลและการรับข้อมูล3.5 การแสดงผลและการรับข้อมูล
3.5 การแสดงผลและการรับข้อมูล
 
3.4 ตัวดำเนินการและนิพจน์
3.4 ตัวดำเนินการและนิพจน์3.4 ตัวดำเนินการและนิพจน์
3.4 ตัวดำเนินการและนิพจน์
 

งานทำ Blog บทที่ 12

  • 1.
  • 2. แฟ้มข้อมูล แฟ้มข้อมูล (File) เป็นชุดข้อมูลที่ถูกเก็บไว้บนดิสก์ มี การกาหนดชื่อส าหรับอ้างถึง ข้อมู ล (ไฟล์ ) โดยแบ่ง ออกเป็น 2 ประเภท 1. ไฟล์ข้อความ (Text File) จะเป็นไฟล์ที่เก็บเฉพาะตัว อักขระแอสกีเท่านั้น 2. ไฟล์ไบนารี (Binary File) เป็นกลุ่มข้อมูลขนาดหนึ่ง ไบต์เรียงต่อกัน โดยการเก็บข้อมูลจะเป็นในรูปแบบ เฉพาะของคอมพิวเตอร์ ซึ่งจะเป็นเลขฐานสอง
  • 3. การเปิดและปิดไฟล์ (File Open/Close) สิ่ ง แรกที่ ต้ อ งท าในการเขี ย นโปรแกรมให้ ท างานกั บ ไฟล์ข้อมูลนั้น คือ การสร้างตัวแปรไฟล์พอยน์เตอร์ (File Pointer) ซึ่งเป็นตัวแปรสาหรับชี้ไปยังตาแหน่งที่อยู่ของไฟล์ที่เราต้องการ เพื่ออ้างอิงถึงไฟล์ข้อมูล ซึ่งมีรูปแบบดังนี้ FILE *filePointerName; โดยที่ filePointerName เป็นชื่อตัวแปรไฟล์พอยน์เตอร์ ! การสร้างตัวแปรไฟล์พอยน์เตอร์จะต้องเขียนคาว่า FILE เป็นตัว ใหญ่เสมอ จากนั้นเว้นวรรคแล้วตามด้วยเครื่องหมาย * ซึ่งทั้งสองตัวนี้ จะเป็นการบ่งบอกถึงการสร้างตัวแปรไฟล์พอยน์เตอร์
  • 4. การเปิดไฟล์ (File Open) เมื่อเรามีตัวแปรสาหรับอ้างอิงถึงไฟล์ข้อมูลที่เราต้องการแล้ว ต่อไปก็ต้องเปิดไฟล์ (File Open) นั้นขึ้นมาใช้งาน โดยเรียกผ่านฟังก์ชัน fopen ซึ่งมีรูปแบบการใช้งานดังนี้ filePointerName = fopen(“fileName”,“mode”); หรือ filePointerName = fopen(“pathfileName”,“mode”);
  • 6. สาหรับโหมดการท างานเกี่ยวกับไฟล์ นั้น จะแยกออกเป็ น 2 กรณีคือ 1. กรณีทางานแบบ Text File 2. กรณีทางานแบบ Binary File
  • 7. 1. กรณีทางานแบบ Text File โหมดการทางาน การทางาน r เปิดไฟล์เพื่ออ่านข้อมูลอย่างเดียว (Reading) •ถ้ามีไฟล์แล้ว ตัวไฟล์พอยน์เตอร์จะชี้ไปยังตาแหน่งต้นไฟล์ •ถ้าไม่มีไฟล์ จะแสดง Error Returned กลับมา w เปิดไฟล์เพื่อเขียนข้อมูลอย่างเดียว (Writing) •ถ้ามีไฟล์แล้ว จะทาการลบข้อมูลไฟล์เดิมทิ้ง แล้วตัวไฟล์พอยน์เตอร์ก็จะชี้ไปยังตาแหน่งต้นไฟล์ (เขียนข้อมูลทับไฟล์เดิม) •ถ้าไม่มีไฟล์ จะทาการสร้างไฟล์ใหม่ แล้วตัวไฟล์พอยน์เตอร์จะชี้ไปยังตาแหน่งต้นไฟล์ a เปิดไฟล์เพื่อเขียนข้อมูลต่อท้ายไฟล์เดิมอย่างเดียว (Append) •ถ้ามีไฟล์แล้ว ตัวไฟล์พอยน์เตอร์จะชี้ไปยังตาแหน่งท้ายไฟล์ (เขียนข้อมูลต่อท้ายไฟล์เดิม) •ถ้าไม่มีไฟล์ จะทาการสร้างไฟล์ใหม่ แล้วตัวไฟล์พอยน์เตอร์จะชี้ไปยังตาแหน่งต้นไฟล์ r+ เปิดไฟล์เดิมที่มีอยู่แล้วเพื่ออ่านหรือเขียนข้อมูลทับไฟล์เดิม w+ เปิดไฟล์เดิมที่มีอยู่แล้วเพื่ออ่านหรือเขียนข้อมูลทับไฟล์เดิม ถ้ายังไม่มีไฟล์ก็จะสร้างไฟล์ใหม่ขึ้นมา a+ เปิดไฟล์เดิมที่มีอยู่แล้วเพื่ออ่านหรือเขียนข้อมูลต่อท้ายไฟล์
  • 8. 2. กรณีทางานแบบ Binary File โหมดการทางาน การทางาน rb เปิดไบนารีไฟล์เพื่ออ่านข้อมูลอย่างเดียว (Reading) •ถ้ามีไฟล์แล้ว ตัวไฟล์พอยน์เตอร์จะชี้ไปยังตาแหน่งต้นไฟล์ •ถ้าไม่มีไฟล์ จะแสดง Error Returned กลับมา wb เปิดไบนารีไฟล์เพื่อเขียนข้อมูลอย่างเดียว (Writing) •ถ้ามีไฟล์แล้ว จะทาการลบข้อมูลไฟล์เดิมทิ้ง แล้วตัวไฟล์พอยน์เตอร์ก็จะชี้ไปยังตาแหน่งต้นไฟล์ (เขียนข้อมูลทับไฟล์เดิม) •ถ้าไม่มีไฟล์ จะทาการสร้างไฟล์ใหม่ แล้วตัวไฟล์พอยน์เตอร์จะชี้ไปยังตาแหน่งต้นไฟล์ ab เปิดไบนารีไฟล์เพื่อเขียนข้อมูลต่อท้ายไฟล์เดิมอย่างเดียว (Append) •ถ้ามีไฟล์แล้ว ตัวไฟล์พอยน์เตอร์จะชี้ไปยังตาแหน่งท้ายไฟล์ (เขียนข้อมูลต่อท้ายไฟล์เดิม) •ถ้าไม่มีไฟล์ จะทาการสร้างไฟล์ใหม่ แล้วตัวไฟล์พอยน์เตอร์จะชี้ไปยังตาแหน่งต้นไฟล์ rb+ หรือ r+b เปิดไบนารีไฟล์เดิมที่มีอยู่แล้วเพืออ่านหรือเขียนข้อมูลทับไฟล์เดิม ่ wb+ หรือ w+b เปิดไบนารีไฟล์เดิมที่มีอยู่แล้วเพืออ่านหรือเขียนข้อมูลทับไฟล์เดิม ถ้ายังไม่มีไฟล์ก็จะสร้างไฟล์ ่ ใหม่ขึ้นมา ab+ หรือ a+b เปิดไบนารีไฟล์เดิมที่มีอยู่แล้วเพืออ่านหรือเขียนข้อมูลต่อท้ายไฟล์ ่
  • 9. การปิดไฟล์ (File Close) ในการเปิดไฟล์เพื่อเขียนหรือแก้ไขข้อมูลระบบปฏิบัติการจะมีการ จองการใช้งานไฟล์นั้น ๆ ทาให้โปรแกรมอื่น ๆ ไม่สามารถเรียกใช้งาน ไฟล์นั้น ดังนั้น ควรจะปิดไฟล์ทุกครั้งหลังจากทางานกับไฟล์นั้น ๆ เสร็จสิ้น ในการปิดไฟล์ (File Close) นั้น จะต้องเรียกผ่านฟังก์ชัน fclose ซึ่งมี รูปแบบการใช้งานดังนี้ fclose(filePointerName); โดยที่ filePointerName เป็นชื่อตัวแปรไฟล์พอยน์เตอร์ที่เราสร้างขึ้นเพื่อชี้ไป ยังไฟล์
  • 10. การทางานกับ Text File 1 การอ่านข้อมูลจากไฟล์ทีละตัวอักษรด้วยฟังก์ชัน getc() และฟังก์ชัน fgetc() 2 การเขียนข้อมูลลงไฟล์ทีละตัวอักษรด้วยฟังก์ชัน putc() และฟังก์ชัน fputc() 3 การอ่านข้อมูลจากไฟล์ทีละบรรทัดด้วยฟังก์ชัน fgets() 4 การเขียนข้อความลงไฟล์ด้วยฟังก์ชัน fputs() 5 การอ่านข้อมูลจากไฟล์โดยใช้ฟงก์ชัน fscanf() ั 6 การอ่านข้อมูลลงไฟล์ด้วยฟังก์ชัน fprintf()
  • 11. การอ่านข้อมูลจากไฟล์ทีละตัวอักษรด้วยฟังก์ชัน getc() และฟังก์ชัน fgetc() ในการอ่านข้อมูลจากไฟล์ทีละตัวอักษรนั้นจะใช้ฟังก์ชัน getc() หรือ ฟังก์ชัน fgetc() โดยส่งตัวแปรไฟล์พอยน์เตอร์เข้าไปในฟังก์ชัน เพื่อ กาหนดจุดเริ่มต้นของไฟล์ เมื่อไฟล์พอยน์เตอร์ทาการอ่านตัวอักษรใด ๆ ออกมา 1 ตัว ไฟล์พอยน์เตอร์จะชี้ไปที่ตัวอักษรถัดไปทันที และเมื่ออ่าน ข้อมูลจนจบไฟล์แล้ว ฟังก์ชัน getc() หรือฟังก์ชัน fgetc() จะคืนค่า EOF กลับมาให้ฟังก์ชันที่เรียกใช้งาน
  • 12. การอ่านข้อมูลจากไฟล์ทีละตัวอักษรด้วยฟังก์ชัน getc() fgetc() มีรูปแบบการใช้งานฟังก์ชันดังนี้ ch = getc(filePointerName); หรือ ch = fgetc(filePointerName); และฟังก์ชัน โดยที่ filePointerName เป็นชื่อตัวแปรไฟล์พอยน์เตอร์ที่เราสร้างขึ้นเพื่อชี้ไป ยังไฟล์ที่ต้องการอ่านข้อมูล ch เป็นตัวแปรชนิดตัวอักขระที่ใช้รบค่าข้อมูลจากฟังก์ชัน
  • 13. การเขียนข้อมูลลงไฟล์ทละตัวอักษรด้วยฟังก์ชัน ี putc() และฟังก์ชัน fputc() ในการเขียนข้อมูลลงไฟล์ทีละตัวอักษรนั้นจะใช้ฟังก์ชัน putc() หรือฟังก์ชัน fputc() โดยส่งตัวแปรไฟล์พอยน์เตอร์ให้ฟังก์ชัน เพื่อกาหนดจุดเริ่มต้นของไฟล์ เมื่อเขียนข้อมูลลงไฟล์เรียบร้อย แล้วให้ปิดไฟล์ทุกครั้ง ถ้าการปิดไฟล์เกิดข้อผิดพลาดฟังก์ชันจะคืน ค่า EOF กลับมา
  • 14. ซึ่งมีรูปแบบการใช้งานดังนี้ putc(ch, filePointerName); หรือ fputc(ch, filePointerName); โดยที่ filePointerName เป็นชื่อตัวแปรไฟล์พอยน์เตอร์ที่เราสร้างขึ้นเพื่อชี้ไป ยังไฟล์ที่ต้องการเขียนข้อมูล ch เป็นตัวอักษรใด ๆ ที่จะเขียนลงในไฟล์
  • 15. การอ่านข้อมูลจากไฟล์ทีละบรรทัดด้วยฟังก์ชัน fgets() ในการอ่านข้อมูลจากไฟล์ทีละบรรทัดนั้นจะใช้ฟังก์ชัน fgtes() ซึ่งในการทางานจะต้องส่งตัวแปรไฟล์พอยน์เตอร์ เข้าไปในฟังก์ชัน เพื่อกาหนดจุดเริ่มต้นของไฟล์ เมื่ออ่าน ข้ อ มู ล ในบรรทั ด นั้ น เสร็ จ แล้ ว ไฟล์ พ อยน์ เ ตอร์ จ ะชี้ ไ ปที่ บรรทัดถัดไป เมื่ออ่านข้อมูลจากไฟล์เรียบร้อยแล้วให้ปิด ไฟล์ทกครั้ง ถ้าการปิดไฟล์เกิดข้อผิดพลาดฟังก์ชันจะคืนค่า ุ EOF กลับมา
  • 16. มีรูปแบบการใช้งานดังนี้ fgets(strName, length, filePointerName); โดยที่ strName เป็นตัวแปรชนิด char ที่มารับข้อความที่อ่านได้จากไฟล์ length เป็นความยาวข้อความที่ต้องการอ่านจากไฟล์ ถ้า length น้อยกว่าจานวนตัวอักษรที่บรรทัดนั้นก็จะอ่านข้อมูลที่บรรทัดนั้น ๆ หลาย รอบ แต่ละรอบเท่ากับ length จนกว่าจะจบบรรทัด ถ้า length มากกว่า จานวนตัวอักษรที่บรรทัดนั้นก็จะอ่านข้อมูลจบเพียงบรรทัดนั้น filePointerName
  • 17. การเขียนข้อความลงไฟล์ด้วยฟังก์ชัน fputs() ในการเขียนข้อมูลลงไฟล์ทีละบรรทัดนั้นจะใช้ฟังก์ชัน fputs() ซึ่ง ในการทางานจะต้องส่งตัวแปรไฟล์พอยน์เตอร์เข้าไปในฟังก์ชัน เพื่อ กาหนดจุดเริ่มต้นของไฟล์ เมื่อเขียนข้อมูลลงบรรทัดใดเสร็จแล้ว ไฟล์ พอยน์เตอร์จะชี้ไปที่บรรทัดถัดไป เมื่อเขียนข้อมูลลงไฟล์เรียบร้อยแล้ว ให้ปิดไฟล์ทุกครั้ง ถ้าการปิดไฟล์เกิดข้อผิดพลาดฟังก์ชันจะคืนค่า EOF กลับมา ซึ่งมีรูปแบบการใช้งานดังนี้ fputs(str, filePointerName); โดยที่ filePointerName เป็นชื่อตัวแปรไฟล์พอยน์เตอร์ที่เราสร้างขึ้นเพื่อชี้ไป ยังไฟล์ท่ต้องการเขียนข้อมูล ี str เป็นตัวแปรชนิด char หรือข้อความที่ต้องการเขียนลงไฟล์
  • 18. การอ่านข้อมูลจากไฟล์โดยใช้ฟังก์ชัน fscanf() เป็นฟังก์ชันใช้สาหรับอ่านค่าข้อมูลที่มาจากไฟล์ ซึ่งตัวอักษร f ที่อยู่หน้า scan เป็นการบ่งบอกถึงการอ่านค่ามาจากไฟล์ นั่นเอง ซึ่งมีรูปแบบการใช้งานดังนี้ fscanf(filePointerName, “string format”, &varName); โดยที่ filePointerName เป็นชื่อตัวแปรไฟล์พอยน์เตอร์ที่เราสร้างขึ้น เพื่อชี้ไปยังไฟล์ท่ต้องการเขียนข้อมูล ี zzz string format varName เป็นรหัสรูปแบบของข้อความในภาษา C เป็นตัวแปรเก็บข้อมูลที่ต้องการเขียนลงไฟล์ ซึ่งต้องมีชนิดข้อมูลตรงกับ string format
  • 19. การเขียนข้อมูลลงไฟล์ด้วยฟังก์ชัน fprintf() เป็นฟังก์ชันสาหรับแสดงหรือบันทึกข้อมูลลงไฟล์ ซึ่งตัวอกษร f ที่อยู่ หน้าคาว่า printf เป็นการบ่งบอกถึงให้ทาการแสดงหรือบันทึกไฟล์ นั่นเอง ซึ่งมีรูปแบบการใช้งานดังนี้ fprintf(filePointerName, “string format”, varName); โดยที่ filePointerName เป็นชื่อตัวแปรไฟล์พอยน์เตอร์ที่เราสร้างขึ้นเพื่อชี้ไป ยังไฟล์ท่ต้องการเขียนข้อมูล ี string format เป็นรหัสรูปแบบของข้อความในภาษา C varName เป็นตัวแปรเก็บข้อมูลที่ต้องการเขียนลงไฟล์ ซึ่งต้องมี ชนิดข้อมูลตรงกับ string format
  • 20. ตารางรหัสรูปแบบข้อมูล input และ output รหัสรูปแบบ ความหมาย %c %d %ld ใช้แทนค่าตัวแปรตัวอกษรตัวเดียว (char) ใช้แทนค่าตัวแปรจานวนเต็ม (int) ใช้แทนค่าตัวแปรจานวนเต็ม (long int) %hd %u %hu %lu %o %ho %lo ใช้แทนค่าตัวแปรจานวนเต็ม (short int) ใช้แทนค่าตัวแปรที่เก็บค่าเป็นจานวนเต็มบวก (unsigned int) ใช้แทนค่าตัวแปรจานวนเต็มแบบไม่คิดเครื่องหมาย (unsigned short int) ใช้แทนค่าตัวแปรจานวนเต็มแบบไม่คิดเครื่องหมาย (unsigned long int) ใช้แทนค่าตัวแปรในรูปฐานแปด (int) ใช้แทนค่าตัวแปรในรูปฐานแปด (short) ใช้แทนค่าตัวแปรในรูปฐานแปด (long)
  • 21. ตารางรหัสรูปแบบข้อมูล input และ output (ต่อ) รหัสรูปแบบ %x หรือ %X %hx หรือ %hX %lx หรือ %lX %f %lf %Lf %e, %E, %g หรือ %G %le, %lE, %lg หรือ %lG %Le, %LE, %Lg หรือ %LG %s %p %% ความหมาย ใช้แทนค่าตัวแปรในรูปฐานสิบหก (int) ใช้แทนค่าตัวแปรในรูปฐานสิบหก (short) ใช้แทนค่าตัวแปรในรูปฐานสิบหก (long) ใช้แทนค่าตัวแปรจานวนจริง ที่เป็นทศนิยม (float) ใช้แทนค่าตัวแปรจานวนจริง ที่เป็นทศนิยม (double) ใช้แทนค่าตัวแปรจานวนจริง ที่เป็นทศนิยม (long double) ใช้แทนค่าตัวแปรจานวนจริง (float) ออกมาในรูป e ยกกาลัง หรือเอ็กซ์โปเนนต์ ใช้แทนค่าตัวแปรจานวนจริง (double) ออกมาในรูป e ยกกาลัง หรือเอ็กซ์โปเนนต์ ใช้แทนค่าตัวแปรจานวนจริง (long double) ออกมาในรูป e ยกกาลัง หรือเอ็กซ์โปเนนต์ ใช้แทนค่าตัวแปรที่เก็บค่าเป็นสตริง หรือตัวแปรชุดตัวอักษร (string) ใช้แทนตาแหน่งพอยน์เตอร์ แทนเครื่องหมาย %
  • 22. ตารางรหัสควบคุมการแสดงผล (Escape Sequence) รหัสรูปแบบ ความหมาย o แทนค่าว่าง หรือค่า null ’ ” แทนสัญลักษณ์พิเศษ ’ แทนสัญลักษณ์พิเศษ ” แทนสัญลักษณ์พิเศษ a b f n r t v ส่งเสียงกริ่งบิ๊บสั้น ๆ (bell sound) เลื่อนกลับไปหนึ่งตัวอักษร ขึ้นหน้าใหม่ ขึ้นบรรทัดใหม่ นาเคอร์เซอร์ไปต้นบรรทัด แท็บตามแนวนอนจากซ้ายไปขวา (6 ตัวอักษร) แท็บตามแนวตั้งจากบนลงล่าง (6 ตัวอักษร)
  • 23. การทางานกับ Binary File Binary file จะเก็บข้อมูลในลักษณะรูปแบบทางคอมพิวเตอร์เป็น เลขฐานสอง และในการทางานเกี่ยวกับ Binary file ต่างจาก Text File ตรงที่เราจะต้องระบุจานวนไบต์ที่ต้องการทางาน มี 2 รูปแบบดังนี้ 1. การอ่านข้อมูลจากไฟล์ด้วยฟังก์ชัน fread() 2. การเขียนข้อมูลลงไฟล์ด้วยฟังก์ชัน fwrite()
  • 24. การอ่านข้อมูลจากไฟล์ด้วยฟังก์ชัน fread() ในการอ่านข้อมูลจาก Binary file จะต้องกาหนดขนาดของ ข้อมูลและจานวนข้อมูลที่อ่านขึ้นมา เพื่อให้สามารถอ่านข้อมูลได้อย่าง ถูกต้อง ฟังก์ชัน fread() นี้จะคล้ายกับฟังก์ชัน fscan() เพียงแต่ฟังก์ชัน fread() จะเหมาะสาหรับการอ่านไฟล์ในประเภท Binary File ซึ่งจะมี รูปแบบการใช้งานดังนี้ fread(&variableNmae, size, count, filePointerName); ! ฟังก์ชัน fread() จะคืนค่าเลขจานวนเต็มเป็นจานวน byte ที่ อ่านได้จากไฟล์ และจะคืนค่าเป็น 0 เมื่ออ่านจนสิ้นสุดไฟล์แล้ว (EOF)
  • 25. โดยที่ &variableName เป็นตาแหน่งตัวแปร struct หรือ array ใน หน่วยความจาที่ใช้เก็บค่าที่อ่านได้จากไฟล์ size เป็นขนาดของตัวแปร struct หรือ array โดยมีหน่วย เป็นไบต์ ซึ่งสามารถหาได้จากฟังก์ชัน sizeof(data type); หรือ sizeof(variable name); count เป็นจานวนครั้งที่ต้องการอ่านข้อมูลจากไฟล์ filePointerName เป็นชื่อตัวแปรไฟล์พอยน์เตอร์ที่เราสร้างขึ้นเพื่อชี้ไปยัง ไฟล์ที่ต้องการอ่านข้อมูล
  • 26. การเขียนข้อมูลลงไฟล์ด้วยฟังก์ชัน fwrite() ฟังก์ชัน fwrite() นี้จะคล้ายกับฟังก์ชัน fprintf() เพียงแต่ฟังก์ชัน fwrite() จะใช้สาหรับการเขียนไฟล์ในประเภท Binary File ซึ่งมีรูปแบบ ดังนี้ fwrite(&variableNmae, size, count, filePointerName); โดยที่ variableName เป็นตาแหน่งตัวแปร struct หรือ array ใน หน่วยความจาที่ต้องการเขียนลงไฟล์ size เป็นขนาดของตัวแปร struct หรือ array โดย มีหน่วยเป็นไบต์ ซึ่งสามารถหาได้จากฟังก์ชัน sizeof(data type); หรือ sizeof(variable name); count เป็นจานวนครั้งที่ต้องการเขียนข้อมูลลงไฟล์ filePointerName เป็นชื่อตัวแปรไฟล์พอยน์เตอร์ที่เราสร้างขึ้นเพื่อชี้ไป ยังไฟล์ที่ต้องการเขียนข้อมูล
  • 27. การตรวจสอบสถานะของไฟล์ (File Status Function) การตรวจสอบสถานะของไฟล์ (File Status Function) เป็นการ ตรวจสอบการทางานของโปรแกรมกับไฟล์ว่าขณะนั้นไฟล์พอยน์เตอร์มีการ ทางานกับไฟล์อย่างไร ไม่ว่าจะเป็นการตรวจสอบว่า อ่านข้อมูลจบไฟล์แล้ว หรือไม่ เกิดข้อผิดพลาดในการทางานกบไฟล์หรือไม่ เป็นต้น มี 5 รูปแบบ ดังนี้ 1 การตรวจสอบ EOF (End of File) ด้วยฟังก์ชัน feof() 2 การตรวจสอบ Error ที่เกิดขึ้นกับไฟล์ด้วยฟังก์ชัน ferror() 3 การหาตาแหน่งที่อยู่ของไฟล์พอยน์เตอร์ด้วยฟังก์ชัน ftell() 4 การย้ายตาแหน่งไฟล์พอยน์เตอร์ไปยังตาแหน่งต้นไฟล์ด้วยฟังก์ชัน rewind() 5 การย้ายตาแหน่งไฟล์พอยน์เตอร์ด้วยฟังก์ชัน fseek()
  • 28. การตรวจสอบ EOF (End of File) ด้วยฟังก์ชน feof() ั เราสามารถตรวจสอบว่าตอนนี้ไฟล์พอยน์เตอร์ชี้ที่ตาแหน่งท้ายสุด ของไฟล์แล้วหรือไม่ (end of file) สามารถตรวจสอบได้โดยการเรียกใช้ ฟังกัน feof() โดยมีรูปแบบการใช้งานดังนี้ feof(filePointerName); โดยที่ filePointerName ! เป็นชื่อตัวแปรไฟล์พอยน์เตอร์ที่เราสร้างขึ้นเพื่อชี้ไป ยังไฟล์ท่ต้องการตรวจสอบ ี การทางานของฟังก์ชัน feof() จะคืนค่ากลับมาเป็น integer ซึ่ง เมื่อไหร่ก็ตามที่คืนค่าเป็น 0 แสดงว่าพอยน์เตอร์ชี้ที่ตาแหน่งท้ายสุดของ ไฟล์แล้ว
  • 29. การตรวจสอบ Error ที่เกิดขึ้นกับไฟล์ด้วยฟังก์ชัน ferror() ในการตรวจสอบ Error ที่เกิดขึ้นกับไฟล์ เราสามารถตรวจสอบ ได้โดยใช้ฟังก์ชัน ferror() โดยมีรูปแบบการใช้งานดังนี้ Ferror(filePointerName); โดยที่ filePointerName ! เป็นชื่อตัวแปรไฟล์พอยน์เตอร์ที่เราสร้างขึ้นเพื่อชี้ไป ยังไฟล์ที่ต้องการตรวจสอบ การทางานของฟังก์ชัน feof() จะคืนค่ากลับมาเป็น integer ซึ่ง เมื่อไหร่ก็ตามที่คืนค่าเป็น 0 แสดงว่าพอยน์เตอร์ชี้ที่ตาแหน่งท้ายสุดของ ไฟล์แล้ว
  • 30. การหาตาแหน่งที่อยู่ของไฟล์พอยน์เตอร์ด้วยฟังก์ชัน ftell() เราสามารถหาตาแหน่งที่อยู่ของไฟล์พอยเตอร์จากไฟล์ที่ใช้งานอยู่ได้ โดยเรียกใช้ฟังก์ชัน ftell() มีรูปแบบการใช้งานดังนี้ ftell(filePointerName); โดยที่ filePointerName เป็นชื่อตัวแปรไฟล์พอยน์เตอร์ที่เราสร้างขึ้นเพื่อชี้ไป ยังไฟล์ที่ต้องการหาตาแหน่งไฟล์พอยน์เตอร์
  • 31. การย้ายตาแหน่งไฟล์พอยน์เตอร์ไปยังตาแหน่งต้นไฟล์ด้วยฟังก์ชัน rewind() ในการย้ายตาแหน่งไฟล์พอยน์เตอร์ไปยังตาแหน่งต้นไฟล์ สามารถทา ได้โดยเรียกใช้ฟังก์ชัน rewind() โดยมีรูปแบบการใช้งานดังนี้ rewind(filePointerName); โดยที่ filePointerName เป็นชื่อตัวแปรไฟล์พอยน์เตอร์ที่เราสร้างขึ้นเพื่อชี้ไป ยังไฟล์ที่ต้องการย้ายตาแหน่งไฟล์พอยน์เตอร์
  • 32. การย้ายตาแหน่งไฟล์พอยน์เตอร์ด้วยฟังก์ชัน fseek() ในการย้ายตาแหน่งไฟล์พอยน์เตอร์ไปยังตาแหน่งต่าง ๆ ในไฟล์ สามารถทาได้โดยเรียกใช้ฟังก์ชัน fseek() โดยมีรูปแบบการใช้งานดังนี้ fseek(filePointerName, long offset, formatSeek); โดยที่ filePointerName long offset formatSeek เป็นชื่อตัวแปรไฟล์พอยน์เตอร์ที่เราสร้างขึ้นเพื่อชี้ไป ยังไฟล์ที่ต้องการย้ายตาแหน่งไฟล์พอยน์เตอร์ เป็นความยาวของ offset ที่ต้องการย้ายตาแหน่ง ไฟล์พอยน์เตอร์ เป็นรูปแบบการใช้งานฟังก์ชัน fseek()
  • 34. การดาเนินการเกี่ยวกับไฟล์ (File Operation) เมื่อสร้างและทางานต่าง ๆ ตามที่ต้องการกับไฟล์ได้แล้วนั้น ใน บางครั้งเราอาจจะต้องการลบไฟล์นั้นทิ้งไป เมื่อใช้งานเสร็จเรียบร้อย แล้ว หรือแก้ไขชื่อไฟล์นั้น ๆ ตามที่ต้องการ มี 2 หัวข้อดังนี้ • การลบไฟล์ • การเปลี่ยนชื่อไฟล์
  • 35. การลบไฟล์ เราสามารถที่ จะลบไฟล์ที่ ไ ม่ ต้องการใช้ ง านแล้ วได้โ ดยการเรีย กใช้ ฟังก์ชัน remove() โดยมีรูปแบบการใช้งานดังนี้ remove(“fileName”); หรือ remove(“pathFilename”); โดยที่ fileName เป็นชื่อไฟล์ที่เราต้องการลบ pathFilename เป็นพาธที่อยู่และชื่อของไฟล์ที่ต้องการลบ ! การทางานของฟังก์ชัน remove() จะคืนค่ากลับมาเป็น integer ซึ่ง เมื่อไหร่ก็ตามที่คืนค่าเป็น 0 แสดงว่าไม่มีข้อผิดพลาด (Error) เกิดขึ้น
  • 36. การเปลี่ยนชื่อไฟล์ เราสามารถที่จะเปลี่ยนชื่อไฟล์ที่ต้องการ ได้โดยการเรียกใช้ฟังก์ชัน rename() โดยมีรูปแบบการใช้งานดังนี้ rename(“fileNameOld”, “fileNameNew”); หรือ rename(“pathFilenameOld”, “fileNameNew”); โดยที่ filenameOld เป็นชื่อไฟล์เดิมที่ต้องการเปลี่ยนชื่อ filenameNew เป็นชื่อไฟล์ใหม่ที่ต้องการเปลี่ยนชื่อ pathFileNameOld เป็นพาธที่อยู่ไฟล์เดิมที่ต้องการเปลี่ยนชื่อ pathFileNameNew เป็นพาธที่อยู่ไฟล์ใหม่ที่ต้องการเปลี่ยนชื่อ ! การทางานของฟังก์ชัน remove() จะคืนค่ากลับมาเป็น integer ซึ่ง เมื่อไหร่ก็ตามที่คืนค่าเป็น 0 แสดงว่าไม่มีข้อผิดพลาด (Error) เกิดขึ้น
  • 37. ที่มา : คู่มืออบรมครูวิทยาศาสตร์ คณิตศาสตร์ คอมพิวเตอร์ โลก ดาราศาสตร์ และอวกาศ ระดับมัธยมศึกษาตอนปลาย หนังสือเรียนรายวิชาเพิ่มเติม การเขียนโปรแกรมเบื้องต้นด้วยภาษา C บริษทซัคเซสมีเดีย คู่มือเรียนเขียนโปรแกรมภาษา สานักพิมพ์ IDC PREMIER