ฟังก์ชั่นเกี่ยวกับเท็กซ์ไฟล์
ความหมายของ Text File
Text File คือ ไฟล์ที่เก็บข้อมูลเป็นตัวอักษร
การประกาศตัวแปรใช้ชี้ไปยังไฟล์มีรูปแบบ ดังนี้
FILE *<ชื่อไฟล์พอยเตอร์>
เช่น
FILE *fpTempData; //ประกาศตัวแปรพอยเตอร์ชื่อว่า fpTempData ให้ชี้ไปยังไฟล์
การเปิดไฟล์ (สำหรับ Text File มี 3 โหมด ดังนี้)
r : เปิดเพื่ออ่าน
w : เปิดเพื่อเขียน
ถ้ามีไฟล์เดิมอยู่แล้ว จะถูกทับด้วยไฟล์ใหม่
ถ้าไม่มีไฟล์เดิมอยู่ก็จะสร้างไฟล์ใหม่ให้
a : เปิดไฟล์ขึ้นมาเพื่อเขียนต่อ
ถ้ามีไฟล์เดิมอยู่แล้ว ก็จะไปชี้ที่ท้ายไฟล์เดิมเพื่อรอให้เขียนต่อเลย
ถ้าไม่มีไฟล์เดิมอยู่ก็จะสร้างไฟล์ใหม่มาให้มีรูปแบบการเปิดไฟล์ ดังนี้
<ชื่อไฟล์พอยเตอร์> = fopen(<"[ตำแหน่งที่ตั้ง\]ชื่อไฟล์">,<"โหมดที่ต้องการเปิด">);
เช่น
fpTempData = fopen("c:\\test.dat","r");มีรูปแบบการปิดไฟล์ ดังนี้
fclose(<ชื่อไฟล์พอยเตอร์>) ;
เช่น
fclose(fpTempData) ;
การอ่านข้อมูลจากไฟล์ขึ้นมาใช้งาน มีรูปแบบ ดังนี้
fscanf(<ชื่อไฟล์พอยเตอร์>,"<รูปแบบข้อความ>",&<ชื่อตัวแปรที่ใช้รับค่า>,...);
เช่น
fscanf(fpTempData,"%d-%d-%d",&m,&d,&y);
การเขียนข้อมูล / บันทึกข้อมูลลงสู่ไฟล์ มีรูปแบบ ดังนี้
fprintf(<ชื่อไฟล์พอยเตอร์>,"<รูปแบบข้อความ>",<ชื่อตัวแปรที่จะนำค่าลงไปเก็บ>,...)
เช่น
fprintf(fpTempData,"%d-%d-%d",m,d,y)
ฟังก์ชั่นที่ใช้ในการอ่าน หรือ เขียน ตัวอักษร getc และ fgetc จะใช้อ่านตัวอักษรตัวต่อไปจากไฟล์ขึ้นมาใช้งาน
เช่น
nextChar = getc(fpTempData); หรือnextChar = fgetc(fpTempData); ....................................................................Binary File
คือ ไฟล์ที่เก็บข้อมูลในรูปของเลขฐานสอง
File คือ ไฟล์ที่เก็บข้อมูลในรูปของเลขฐานสอง
การประกาศตัวแปรใช้ชี้ไปยังไฟล์มีรูปแบบ ดังนี้
FILE *<ชื่อไฟล์พอยเตอร์>
เช่น
FILE *fpTempData; //ประกาศตัวแปรพอยเตอร์ชื่อว่า fpTempData ให้ชี้ไปยังไฟล์การเปิดไฟล์ (สำหรับ Text File มี 3 โหมด ดังนี้)
rb : เปิดเพื่ออ่าน
wb : เปิดเพื่อเขียน
ถ้ามีไฟล์เดิมอยู่แล้ว จะถูกทับด้วยไฟล์ใหม่
ถ้าไม่มีไฟล์เดิมอยู่ก็จะสร้างไฟล์ใหม่ให้
ab : เปิดไฟล์ขึ้นมาเพื่อเขียนต่อ
ถ้ามีไฟล์เดิมอยู่แล้ว ก็จะไปชี้ที่ท้ายไฟล์เดิมเพื่อรอให้เขียนต่อเลย
ถ้าไม่มีไฟล์เดิมอยู่ก็จะสร้างไฟล์ใหม่มาให้มีรูปแบบการเปิดไฟล์ ดังนี้
<ชื่อไฟล์พอยเตอร์> = fopen(<"[ตำแหน่งที่ตั้ง\]ชื่อไฟล์">,<"โหมดที่ต้องการเปิด">);
เช่น
fpTempData = fopen("c:\\test.dat","rb");มีรูปแบบการปิดไฟล์ ดังนี้
fclose(<ชื่อไฟล์พอยเตอร์>) ;
เช่น
fclose(fpTempData) ;
การอ่านข้อมูลจากไฟล์ขึ้นมาใช้งาน มีรูปแบบ ดังนี้
fread(<ชื่อตัวแปรที่ใช้รับค่า>,"<ขนาดของตัวแปร>,<จำนวน>,<ชื่อไฟล์พอยเตอร์>);
เช่น
fread(num,sizeof(int),1,fpTempData);
การเขียนข้อมูล / บันทึกข้อมูลลงสู่ไฟล์ มีรูปแบบ ดังนี้
fwrite(<ชื่อตัวแปรที่ใช้รับค่า>,"<ขนาดของตัวแปร>,<จำนวน>,<ชื่อไฟล์พอยเตอร์>);
เช่น
fwrite(num,sizeof(int),1,fpTempData);
ฟังก์ชั่นที่ใช้ในการจัดการไฟล์
feof(<ชื่อไฟล์พอยเตอร์>); ตรวจสอบจุดสิ้นสุดของไฟล์
เช่น
feof(fpTempData);
// สิ้นสุดไฟล์แล้วผลลัพธ์ที่ได้จะเป็น 0
// ถ้ายังไม่สิ้นสุดไฟล์ผลลัพธ์ที่ได้จะไม่เท่ากับ 0
ferror(<ชื่อไฟล์พอยเตอร์>); ตรวจสอบข้อผิดพลาดในขณะที่อ่านหรือเขียน
เช่น
ferror(fpTempData);
// ไม่มีข้อผิดพลาดผลลัพธ์ที่ได้จะเป็น 0
// ถ้ามีข้อผิดพลาดผลลัพธ์ที่ได้จะไม่เท่ากับ 0
rewind(<ชื่อไฟล์พอยเตอร์>); ย้ายตำแหน่งตัวแปรพอยเตอร์ให้ไปชี้ที่ต้นไฟล์
เช่น
rewind(fpTempData);
ftell(<ชื่อไฟล์พอยเตอร์>); ส่งค่ากลับมาเป็นที่อยู่ของตัวแปรไฟล์พอยเตอร์ปัจจุบันมาให้
เช่น
ftell(fpTempData); // จะส่งที่อยู่ของ fpTempData มาให้
remove(<ชื่อไฟล์>); ใช้สำหรับลบไฟล์ออกจากสื่อบันทึกข้อมูล
เช่น
remove("c:\\test.dat");
rename(<ชื่อไฟล์ต้นฉบับ>","<ชื่อไฟล์ใหม่>"); ใช้สำหรับเปลี่ยนชื่อไฟล์
เช่น
rename("c:\\test.dat","c:\\abc.txt");
// ก็จะทำการเปลี่ยนชื่อไฟล์ใน Drive c:\จากชื่อ Test.dat เป็น abc.txt
Text File คือ ไฟล์ที่เก็บข้อมูลเป็นตัวอักษร
การประกาศตัวแปรใช้ชี้ไปยังไฟล์มีรูปแบบ ดังนี้
FILE *<ชื่อไฟล์พอยเตอร์>
เช่น
FILE *fpTempData; //ประกาศตัวแปรพอยเตอร์ชื่อว่า fpTempData ให้ชี้ไปยังไฟล์
การเปิดไฟล์ (สำหรับ Text File มี 3 โหมด ดังนี้)
r : เปิดเพื่ออ่าน
w : เปิดเพื่อเขียน
ถ้ามีไฟล์เดิมอยู่แล้ว จะถูกทับด้วยไฟล์ใหม่
ถ้าไม่มีไฟล์เดิมอยู่ก็จะสร้างไฟล์ใหม่ให้
a : เปิดไฟล์ขึ้นมาเพื่อเขียนต่อ
ถ้ามีไฟล์เดิมอยู่แล้ว ก็จะไปชี้ที่ท้ายไฟล์เดิมเพื่อรอให้เขียนต่อเลย
ถ้าไม่มีไฟล์เดิมอยู่ก็จะสร้างไฟล์ใหม่มาให้มีรูปแบบการเปิดไฟล์ ดังนี้
<ชื่อไฟล์พอยเตอร์> = fopen(<"[ตำแหน่งที่ตั้ง\]ชื่อไฟล์">,<"โหมดที่ต้องการเปิด">);
เช่น
fpTempData = fopen("c:\\test.dat","r");มีรูปแบบการปิดไฟล์ ดังนี้
fclose(<ชื่อไฟล์พอยเตอร์>) ;
เช่น
fclose(fpTempData) ;
การอ่านข้อมูลจากไฟล์ขึ้นมาใช้งาน มีรูปแบบ ดังนี้
fscanf(<ชื่อไฟล์พอยเตอร์>,"<รูปแบบข้อความ>",&<ชื่อตัวแปรที่ใช้รับค่า>,...);
เช่น
fscanf(fpTempData,"%d-%d-%d",&m,&d,&y);
การเขียนข้อมูล / บันทึกข้อมูลลงสู่ไฟล์ มีรูปแบบ ดังนี้
fprintf(<ชื่อไฟล์พอยเตอร์>,"<รูปแบบข้อความ>",<ชื่อตัวแปรที่จะนำค่าลงไปเก็บ>,...)
เช่น
fprintf(fpTempData,"%d-%d-%d",m,d,y)
ฟังก์ชั่นที่ใช้ในการอ่าน หรือ เขียน ตัวอักษร getc และ fgetc จะใช้อ่านตัวอักษรตัวต่อไปจากไฟล์ขึ้นมาใช้งาน
เช่น
nextChar = getc(fpTempData); หรือnextChar = fgetc(fpTempData); ....................................................................Binary File
คือ ไฟล์ที่เก็บข้อมูลในรูปของเลขฐานสอง
File คือ ไฟล์ที่เก็บข้อมูลในรูปของเลขฐานสอง
การประกาศตัวแปรใช้ชี้ไปยังไฟล์มีรูปแบบ ดังนี้
FILE *<ชื่อไฟล์พอยเตอร์>
เช่น
FILE *fpTempData; //ประกาศตัวแปรพอยเตอร์ชื่อว่า fpTempData ให้ชี้ไปยังไฟล์การเปิดไฟล์ (สำหรับ Text File มี 3 โหมด ดังนี้)
rb : เปิดเพื่ออ่าน
wb : เปิดเพื่อเขียน
ถ้ามีไฟล์เดิมอยู่แล้ว จะถูกทับด้วยไฟล์ใหม่
ถ้าไม่มีไฟล์เดิมอยู่ก็จะสร้างไฟล์ใหม่ให้
ab : เปิดไฟล์ขึ้นมาเพื่อเขียนต่อ
ถ้ามีไฟล์เดิมอยู่แล้ว ก็จะไปชี้ที่ท้ายไฟล์เดิมเพื่อรอให้เขียนต่อเลย
ถ้าไม่มีไฟล์เดิมอยู่ก็จะสร้างไฟล์ใหม่มาให้มีรูปแบบการเปิดไฟล์ ดังนี้
<ชื่อไฟล์พอยเตอร์> = fopen(<"[ตำแหน่งที่ตั้ง\]ชื่อไฟล์">,<"โหมดที่ต้องการเปิด">);
เช่น
fpTempData = fopen("c:\\test.dat","rb");มีรูปแบบการปิดไฟล์ ดังนี้
fclose(<ชื่อไฟล์พอยเตอร์>) ;
เช่น
fclose(fpTempData) ;
การอ่านข้อมูลจากไฟล์ขึ้นมาใช้งาน มีรูปแบบ ดังนี้
fread(<ชื่อตัวแปรที่ใช้รับค่า>,"<ขนาดของตัวแปร>,<จำนวน>,<ชื่อไฟล์พอยเตอร์>);
เช่น
fread(num,sizeof(int),1,fpTempData);
การเขียนข้อมูล / บันทึกข้อมูลลงสู่ไฟล์ มีรูปแบบ ดังนี้
fwrite(<ชื่อตัวแปรที่ใช้รับค่า>,"<ขนาดของตัวแปร>,<จำนวน>,<ชื่อไฟล์พอยเตอร์>);
เช่น
fwrite(num,sizeof(int),1,fpTempData);
ฟังก์ชั่นที่ใช้ในการจัดการไฟล์
feof(<ชื่อไฟล์พอยเตอร์>); ตรวจสอบจุดสิ้นสุดของไฟล์
เช่น
feof(fpTempData);
// สิ้นสุดไฟล์แล้วผลลัพธ์ที่ได้จะเป็น 0
// ถ้ายังไม่สิ้นสุดไฟล์ผลลัพธ์ที่ได้จะไม่เท่ากับ 0
ferror(<ชื่อไฟล์พอยเตอร์>); ตรวจสอบข้อผิดพลาดในขณะที่อ่านหรือเขียน
เช่น
ferror(fpTempData);
// ไม่มีข้อผิดพลาดผลลัพธ์ที่ได้จะเป็น 0
// ถ้ามีข้อผิดพลาดผลลัพธ์ที่ได้จะไม่เท่ากับ 0
rewind(<ชื่อไฟล์พอยเตอร์>); ย้ายตำแหน่งตัวแปรพอยเตอร์ให้ไปชี้ที่ต้นไฟล์
เช่น
rewind(fpTempData);
ftell(<ชื่อไฟล์พอยเตอร์>); ส่งค่ากลับมาเป็นที่อยู่ของตัวแปรไฟล์พอยเตอร์ปัจจุบันมาให้
เช่น
ftell(fpTempData); // จะส่งที่อยู่ของ fpTempData มาให้
remove(<ชื่อไฟล์>); ใช้สำหรับลบไฟล์ออกจากสื่อบันทึกข้อมูล
เช่น
remove("c:\\test.dat");
rename(<ชื่อไฟล์ต้นฉบับ>","<ชื่อไฟล์ใหม่>"); ใช้สำหรับเปลี่ยนชื่อไฟล์
เช่น
rename("c:\\test.dat","c:\\abc.txt");
// ก็จะทำการเปลี่ยนชื่อไฟล์ใน Drive c:\จากชื่อ Test.dat เป็น abc.txt