120 likes | 276 Views
บทที่ 12. ไฟล์. File. ไฟล์ (File) คือ ที่เก็บข้อมูลต่างๆ ของคอมพิวเตอร์ และในภาษา C นั้น ไฟล์ก็จะมีความหมายรวมไปถึงอุปกรณ์ต่างที่ต่อกับเครื่องคอมพิวเตอร์ด้วย เช่น คีย์บอร์ด จอภาพ เป็นต้น
E N D
บทที่ 12 ไฟล์
File • ไฟล์ (File) คือ ที่เก็บข้อมูลต่างๆ ของคอมพิวเตอร์ และในภาษา C นั้น ไฟล์ก็จะมีความหมายรวมไปถึงอุปกรณ์ต่างที่ต่อกับเครื่องคอมพิวเตอร์ด้วย เช่น คีย์บอร์ด จอภาพ เป็นต้น • Text files เป็นไฟล์ของตัวอักษร เพราะมีโครงสร้างในการเก็บข้อมูลจะเป็นตัวอักษร ไฟล์นั้นจึงไม่สามารถที่จะเก็บข้อมูลที่ค่าตัวเลขจำนวนเต็ม จุดทศนินม หรือในลักษณะที่เป็นโครงสร้าง ซึ่งการเก็บ ข้อมูลจะถูกแปลงเป็นเลขฐานสองตามรหัส ASCII สื่อชุดนี้เป็นลิขสิทธิ์ของสำนักพิมพ์วังอักษรใช้เพื่อการศึกษาเท่านั้น
File(ต่อ) • Binary Files เป็นไฟล์ที่เก็บข้อมูลที่อยู่ในรูปแบบของค่าตรงๆ ซึ่งข้อมูลที่ไฟล์ประเภทนี้จัดเก็บ จะสามารถเป็นได้ทั้งตัวเลขจำนวนเต็ม ตัวเลขทศนิยม ตัวอักษร อาร์เรย์ และข้อมูลแบบโครงสร้าง โดยการจัดเก็บนั้นจะเก็บลงไปตรงๆ เลย เช่น 16706 ก็จะเก็บเป็นค่าที่เหมือนอ่านกลับมาเป็นค่าเดิม แต่ Text Files จะเก็บเป็นตัวอักษร 1 6 7 0 6 สื่อชุดนี้เป็นลิขสิทธิ์ของสำนักพิมพ์วังอักษรใช้เพื่อการศึกษาเท่านั้น
File Table ------ ------ fpMyFile buffered File Table • ก่อนที่ใช้ไฟล์ได้ ผู้ใช้จะต้องรู้จักกับ File Table ซึ่ง File Table คือ ส่วนของหน่วยความจำที่เก็บข้อมูลต่าง ๆ ที่เกี่ยวกับไฟล์ เช่น ชื่อไฟล์ เป็นตัวชี้ตำแหน่งของไฟล์ เป็นต้น โดยจะมีตัวแปรที่เป็นไฟล์พอยเตอร์ชี้อยู่ ซึ่งไฟล์พอยเตอร์ตัวนี้จะมีข้อมูลเป็นโครงสร้างชนิด FILE ซึ่งลักษณะของ File Table สื่อชุดนี้เป็นลิขสิทธิ์ของสำนักพิมพ์วังอักษรใช้เพื่อการศึกษาเท่านั้น
Text File • การเปิดไฟล์ ฟังก์ชันในการเปิดไฟล์ คือ ฟังก์ชัน fopen ฟังก์ชันนี้ต้องการพารามิเตอร์ 2 ตัว ตัวแรกคือชื่อไฟล์ที่ต้องการจะเปิด ซึ่งอาจจะรวมที่อยู่ของไฟล์ (Path) ในกรณีที่ไฟล์ที่ต้องการใช้ไม่ได้อยู่ที่เดียวกับไฟล์โปรแกรม fopen (“[ชื่อไฟล์พอยเตอร์]”, “[โหมด]”); สื่อชุดนี้เป็นลิขสิทธิ์ของสำนักพิมพ์วังอักษรใช้เพื่อการศึกษาเท่านั้น
Text File • การปิดไฟล์ เมื่อเปิดใช้ไฟล์แล้วใช้เสร็จ ก็ควรจะทำการปิดไฟล์ที่ใช้ด้วย ซึ่งฟังก์ชันที่ใช้ปิดไฟล์ คือฟังก์ชัน fclose ซึ่งมีรูปแบบดังนี้ fclose ([ชื่อไฟล์พอยเตอร์]); • การอ่านและเขียนไฟล์ • fscanf เป็นฟังก์ชันในการอ่านข้อมูลจากไฟล์ ซึ่งการทำงานก็เหมือนกับฟังก์ชัน scanf แต่จะต่างกันตรงที่ฟังก์ชัน fscanf จะต้องใช้ไฟล์พอยเตอร์เพื่อชี้ตำแหน่งที่จะอ่านจากไฟล์มีรูปแบบดังนี้ fscanf ([ชื่อไฟล์พอยเตอร์],“[รูปแบบข้อความ]”,[ที่อยู่ของตัวแปร]); • fprintf เป็นฟังก์ชันในการเขียนข้อมูลลงไปในไฟล์ ซึ่งการทำงานก็เหมือนกับฟังก์ชัน printf แต่จะใช้ไฟล์พอยเตอร์เป็นตัวชี้ตำแหน่งของไฟล์ที่จะเขียนข้อมูลลงไป ซึ่งมีรูปแบบดังนี้ fprintf([ชื่อไฟล์พอยเตอร์], “[รูปแบบข้อความ]”,[ตัวแปร]); สื่อชุดนี้เป็นลิขสิทธิ์ของสำนักพิมพ์วังอักษรใช้เพื่อการศึกษาเท่านั้น
ฟังก์ชันการอ่านและเขียนข้อมูลที่เป็นตัวอักษรฟังก์ชันการอ่านและเขียนข้อมูลที่เป็นตัวอักษร • getc และ fgetc ทั้งสองฟังก์ชันนี้จะมีการทำงาน คือ จะอ่านตัวอักษรตัวต่อไปจากไฟล์ขึ้นมาเลย และถ้าอ่านไปจนจบไฟล์ ทั้งสองก็จะส่งค่ากลับเป็น EOF • putc และ fputtc ทั้งสองฟังก์ชันนี้จะมีการทำงาน คือ จะเขียนข้อมูลลงไปในไฟล์ทีละ 1 ตัวอักษร ถ้าการเขียนข้อมูลสมบูรณ์จะส่งค่ากลับมาเป็นตัวอักษรที่ส่งไป แต่ถ้าไม่สมบูรณ์จะส่งค่ากลับเป็น EOF สื่อชุดนี้เป็นลิขสิทธิ์ของสำนักพิมพ์วังอักษรใช้เพื่อการศึกษาเท่านั้น
Binary File • การเปิดไฟล์และปิดไฟล์ จะเหมือนกับ Text File เลย แต่สิ่งที่ต่างกันจะมีอยู่ตรงที่โหมดในการเปิดไฟล์ ซึ่งโหมดในการเปิด Binary File สื่อชุดนี้เป็นลิขสิทธิ์ของสำนักพิมพ์วังอักษรใช้เพื่อการศึกษาเท่านั้น
การอ่านและเขียนไฟล์ • fread เป็นฟังก์ชันในการอ่านข้อมูลจากไฟล์ ซึ่งมีรูปแบบดังนี้ fread([ชื่อตัวแปร],[ขนาดของตัวแปร],[จำนวน],[ชื่อไฟล์พอยเตอร์]); • Fwrite เป็นฟังก์ชันในการเขียนข้อมูลลงไฟล์ ซึ่งมีรูปแบบดังนี้ fwrite([ชื่อตัวแปร],[ขนาดของตัวแปร],[จำนวน],[ชื่อไฟล์พอยเตอร์]); สื่อชุดนี้เป็นลิขสิทธิ์ของสำนักพิมพ์วังอักษรใช้เพื่อการศึกษาเท่านั้น
ฟังก์ชันบอกสถานะของไฟล์ฟังก์ชันบอกสถานะของไฟล์ • feof เป็นฟังก์ชันที่จะบอกว่าขณะนี้ ไฟล์พอยเตอร์ไปอยู่ที่ตำแหน่งสิ้นสุดไฟล์หรือยัง ซึ่งจะส่งค่ากลับมาเป็น 0 เมื่อสิ้นสุดไฟล์แล้ว และจะส่งค่ากลับมาเป็น ไม่เท่ากับ 0 เมื่อยังไม่สิ้นสุดไฟล์ • ferror ฟังก์ชันนี้จะคอยตรวจสอบข้อผิดพลาดต่างๆ ที่เกิดขึ้นขณะที่อ่านหรือเขียนข้อมูล ซึ่งถ้าเกิดข้อผิดพลาดจะส่งค่ากลับมาเป็น ไม่เท่ากับ 0 แต่ถ้าไม่มีข้อผิดพลาดจะส่งค่ากลับมาเป็น 0 สื่อชุดนี้เป็นลิขสิทธิ์ของสำนักพิมพ์วังอักษรใช้เพื่อการศึกษาเท่านั้น
ฟังก์ชันตำแหน่งของไฟล์พอยเตอร์ฟังก์ชันตำแหน่งของไฟล์พอยเตอร์ • rewind จะเป็นฟังก์ชันในการย้ายตำแหน่งของไฟล์พอยเตอร์ ให้ไปอยู่ที่หัวไฟล์ • ftell เป็นฟังก์ชันที่จะส่งค่ากลับ เป็นตำแหน่งที่อยู่ของไฟล์พอยเตอร์ในขณะนั้น ซึ่งค่าที่ส่งกลับมาเป็นข้อมูลชนิด long int สื่อชุดนี้เป็นลิขสิทธิ์ของสำนักพิมพ์วังอักษรใช้เพื่อการศึกษาเท่านั้น
ฟังก์ชันของระบบ • remove เป็นฟังก์ชันที่ใช้ลบไฟล์ที่ต้องการทิ้งไป ถ้าการลบสมบูรณ์จะส่งค่ากลับมาเป็น 0 และถ้าไม่สมบูรณ์จะส่งค่ากลับเป็น ไม่เท่ากับ 0 • rename เป็นฟังก์ชันที่จะใช้เปลี่ยนชื่อไฟล์ที่ต้องการ ถ้าการเปลี่ยนสมบูรณ์จะส่งค่ากลับมาเป็น 0 และถ้าไม่สมบูรณ์จะส่งค่ากลับเป็น ไม่เท่ากับ 0 สื่อชุดนี้เป็นลิขสิทธิ์ของสำนักพิมพ์วังอักษรใช้เพื่อการศึกษาเท่านั้น