พื้นฐานการทำงานกับไฟล์
การประมวลผลแฟ้มข้อมูลในภาษา C (data file processing in C)
โดยปกติแล้วผู้เขียนโปรแกรมเกี่ยวกับแฟ้มข้อมูลในภาษา C จะมีความต้องประมวลผลแฟ้มข้อมูลอยู่ 3 แบบ คือ
1) การบันทึกข้อมูลในแฟ้มข้อมูล (write data into file)
2) การอ่านข้อมูลขึ้นจากแฟ้มข้อมูลขึ้นมาใช้งาน (read data from file)
3) การเพิ่มข้อมูลลงไปในแฟ้มข้อมูล (append data into file)
1. การบันทึกข้อมูลเก็บไว้ในแฟ้มข้อมูล (write data into file) มีขั้นตอนดังนี้
1. เปิดแฟ้มข้อมูลด้วยคำสั่ง fopen( ) ตั้งชื่อแฟ้มข้อมูล (file name) พร้อมกับระบุ mode ของการบันทึกข้อมูลลงในแฟ้มเป็น “w”
2. บันทึกข้อมูลลงในแฟ้มโดยใช้ฟังก์ชัน putc( ) หรือ fprintf( ) หรือ fwrite( ) บันทึกข้อมูลลงแฟ้ม ขึ้นอยู่กับลักษณะของข้อมูลที่ต้องการบันทึกลงแฟ้มดังนี้
- ถ้าข้อมูลที่ต้องการบันทึกเป็นตัวอักขระตัวเดียว (single character) ให้ฟังก์ชัน putc( ) เพราะสามารถบันทึกตัวอักขระตัวเดียวได้ดี
- ถ้าข้อมูลที่ต้องการบันทึกเป็นตัวเลขจำนวนเต็ม (integer) หรือตัวเลขจำนวนทศนิยม (floationg point) หรือสตริง (strings) ให้ใช้ฟังก์ชัน fprintf( ) เพราะสามารถจัดรูปแบบข้อมูลที่บันทึกได้
- ถ้าข้อมูลที่ต้องการบันทึกเป็นข้อมูลแบบโครงสร้าง (structures) หรือตัวแปรชุด (arrays) ให้ใช้ฟังก์ชัน fwrite( ) เพราะสามารถกำหนดเนื้อที่และจำนวนครั้งของการบันทึกข้อมูลได้
3. หลังจากบันทึกข้อมูลลงแฟ้มเรียบร้อยแล้ว จะต้องใช้คำสั่ง fclose( ) ปิดแฟ้มข้อมูลทุกครั้งเพื่อป้องกันความเสียหายที่อาจเกิดขึ้นได้
ฟังก์ชันที่ใช้ในการเปิดและปิดแฟ้มข้อมูล
การเปิดแฟ้มข้อมูลในภาษา C สามารถทำได้โดยใช้ฟังก์ชัน fopen( ) ส่วนการปิดแฟ้มข้อมูลสามารถทำได้โดยใช้ฟังก์ชัน fclose( ) ซึ่งมีรายละเอียดการใช้งานแต่ละฟังก์ชัน ดังนี้
1. ฟังก์ชัน fopen( )
ฟังก์ชัน fopen( ) เป็นฟังก์ชันที่ใช้ในการเปิดแฟ้มข้อมูลที่ต้องการได้ โดยที่ fopen เป็นฟังก์ชันมาตรฐานที่อยู่ในแฟ้ม stdio.h
ดังนั้นก่อนที่จะใช้ฟังก์ชันนี้ จะต้องใช้คำสั่ง #include<stdio.h> อยู่ที่ส่วนต้นของโปรแกรมภาษา C และจะต้องประกาศแฟ้มข้อมูลด้วย คำสั่ง FILE
2. ฟังก์ชัน fclose( )
ฟังก์ชัน fclose( ) เป็นฟังก์ชันที่ใช้ในการปิดแฟ้มข้อมูลเมื่อใช้งานแฟ้มข้อมูลเสร็จแล้ว เช่น เมื่อสิ้นสุดการบันทึก หรืออ่านข้อมูลจากแฟ้มข้อมูลใดจะต้องปิดแฟ้มข้อมูลนั้น เพื่อทำให้ข้อมูลที่ค้างอยู่ใน Buffer ของหน่วยความจำของเครื่อง ถูกนำไปเก็บไว้ในแฟ้มข้อมูล แต่ถ้าเราลืมใช้คำสั่ง fclose( ) เมื่อสิ้นสุดการทำงานของโปรแกรม ภาษา C จะปิดแฟ้มข้อมูลให้โดยอัตโนมัติ แต่อย่างไรก็ตามผู้เขียนโปรแกรมควรใช้ fclose( ) ทุกครั้งที่ไม่ใช้แฟ้มข้อมูลแล้วเพื่อสร้างลักษณะนิสัยที่ดีในการใช้งานแฟ้มข้อมูล
โดยปกติแล้วผู้เขียนโปรแกรมเกี่ยวกับแฟ้มข้อมูลในภาษา C จะมีความต้องประมวลผลแฟ้มข้อมูลอยู่ 3 แบบ คือ
1) การบันทึกข้อมูลในแฟ้มข้อมูล (write data into file)
2) การอ่านข้อมูลขึ้นจากแฟ้มข้อมูลขึ้นมาใช้งาน (read data from file)
3) การเพิ่มข้อมูลลงไปในแฟ้มข้อมูล (append data into file)
1. การบันทึกข้อมูลเก็บไว้ในแฟ้มข้อมูล (write data into file) มีขั้นตอนดังนี้
1. เปิดแฟ้มข้อมูลด้วยคำสั่ง fopen( ) ตั้งชื่อแฟ้มข้อมูล (file name) พร้อมกับระบุ mode ของการบันทึกข้อมูลลงในแฟ้มเป็น “w”
2. บันทึกข้อมูลลงในแฟ้มโดยใช้ฟังก์ชัน putc( ) หรือ fprintf( ) หรือ fwrite( ) บันทึกข้อมูลลงแฟ้ม ขึ้นอยู่กับลักษณะของข้อมูลที่ต้องการบันทึกลงแฟ้มดังนี้
- ถ้าข้อมูลที่ต้องการบันทึกเป็นตัวอักขระตัวเดียว (single character) ให้ฟังก์ชัน putc( ) เพราะสามารถบันทึกตัวอักขระตัวเดียวได้ดี
- ถ้าข้อมูลที่ต้องการบันทึกเป็นตัวเลขจำนวนเต็ม (integer) หรือตัวเลขจำนวนทศนิยม (floationg point) หรือสตริง (strings) ให้ใช้ฟังก์ชัน fprintf( ) เพราะสามารถจัดรูปแบบข้อมูลที่บันทึกได้
- ถ้าข้อมูลที่ต้องการบันทึกเป็นข้อมูลแบบโครงสร้าง (structures) หรือตัวแปรชุด (arrays) ให้ใช้ฟังก์ชัน fwrite( ) เพราะสามารถกำหนดเนื้อที่และจำนวนครั้งของการบันทึกข้อมูลได้
3. หลังจากบันทึกข้อมูลลงแฟ้มเรียบร้อยแล้ว จะต้องใช้คำสั่ง fclose( ) ปิดแฟ้มข้อมูลทุกครั้งเพื่อป้องกันความเสียหายที่อาจเกิดขึ้นได้
ฟังก์ชันที่ใช้ในการเปิดและปิดแฟ้มข้อมูล
การเปิดแฟ้มข้อมูลในภาษา C สามารถทำได้โดยใช้ฟังก์ชัน fopen( ) ส่วนการปิดแฟ้มข้อมูลสามารถทำได้โดยใช้ฟังก์ชัน fclose( ) ซึ่งมีรายละเอียดการใช้งานแต่ละฟังก์ชัน ดังนี้
1. ฟังก์ชัน fopen( )
ฟังก์ชัน fopen( ) เป็นฟังก์ชันที่ใช้ในการเปิดแฟ้มข้อมูลที่ต้องการได้ โดยที่ fopen เป็นฟังก์ชันมาตรฐานที่อยู่ในแฟ้ม stdio.h
ดังนั้นก่อนที่จะใช้ฟังก์ชันนี้ จะต้องใช้คำสั่ง #include<stdio.h> อยู่ที่ส่วนต้นของโปรแกรมภาษา C และจะต้องประกาศแฟ้มข้อมูลด้วย คำสั่ง FILE
2. ฟังก์ชัน fclose( )
ฟังก์ชัน fclose( ) เป็นฟังก์ชันที่ใช้ในการปิดแฟ้มข้อมูลเมื่อใช้งานแฟ้มข้อมูลเสร็จแล้ว เช่น เมื่อสิ้นสุดการบันทึก หรืออ่านข้อมูลจากแฟ้มข้อมูลใดจะต้องปิดแฟ้มข้อมูลนั้น เพื่อทำให้ข้อมูลที่ค้างอยู่ใน Buffer ของหน่วยความจำของเครื่อง ถูกนำไปเก็บไว้ในแฟ้มข้อมูล แต่ถ้าเราลืมใช้คำสั่ง fclose( ) เมื่อสิ้นสุดการทำงานของโปรแกรม ภาษา C จะปิดแฟ้มข้อมูลให้โดยอัตโนมัติ แต่อย่างไรก็ตามผู้เขียนโปรแกรมควรใช้ fclose( ) ทุกครั้งที่ไม่ใช้แฟ้มข้อมูลแล้วเพื่อสร้างลักษณะนิสัยที่ดีในการใช้งานแฟ้มข้อมูล