เท็กซ์ไฟล์ คือ ไฟล์ที่เก็บตัวอักษรที่เก็บในรูปแบบของรหัส ASCII ตั้งแต่หนึ่งบรรทัดขึ้นไป ในแต่ละบรรทัดประกอบด้วยอักษรกี่ตัวก็ได้ หรือจะไม่มีตัวอักษรเลยก็ได้ และจะระบุจุดสิ้นสุดบรรทัดโดยใช้อักษร newline (\n)
ขั้นตอนการทำงานในการประมวลผลเกี่ยวกับไฟล์
จะประกอบด้วย4 ขั้นตอนหลัก ก็คือ
1. ทำกาสร้าง file pointer
2. ทำการเปิดไฟล์โดยการเชื่อม file name เข้ากับชื่อของ stream name
3. ทำการอ่านหรือบันทึกข้อมูลลงไฟล์ผ่านทางชื่อ stream
4. การเปิดไฟล์และการปิดไฟล์
การเปิดไฟล์
ในการเปิดไฟล์จะใช้คำสั่ง fopen ซึ่งมีรูปแบบที่กำหนดในไฟล์ stdio.h ดังนี้
FILE *fopen(const char *filename, const char *mode);
โดยคำสั่ง fopen จะเปิดไฟล์ตามชื่อไฟล์และที่อยู่ของไฟล์ที่ระบุในสตริง filename และทำการคืนค่ากลับมาเป็น FILE* หรือเป็น NULL หากเปิดไฟล์ไม่สำเร็จด้วยเหตุผลต่างๆ เช่น ไม่มีไฟล์ที่ระบุ ไม่มีสิทธิ์สร้างไฟล์ เป็นต้น
ส่วน mode นั้นจะเป็นสตริงที่ระบุโหมดการทำงานกับไฟล์ สำหรับเท็กซ์ไฟล์มีโหมดต่างๆ ให้ใช้ได้ต่อไปนี้
r เป็นการเปิดแฟ้มข้อมูลเพื่ออ่านอย่างเดียว ถ้าไม่มีไฟล์จะไม่สามารถเปิดได้
w เป็นการเปิดแฟ้มข้อมูลเพื่อเขียนอย่างเดียว ถ้ามีแฟ้มข้อมูลอยู่ในระบบ เนื้อหาในไฟล์ที่มีอยู่เดิมจะถูกละทิ้ง และไฟล์ใหม่ที่เปิดจะกลายเป็นการเขียนไฟล์เปล่า
a เป็นการเปิดแฟ้มข้อมูลเพื่อเขียนต่อ ถ้าไม่มีไฟล์อยู่จะทำการสร้างไฟล์ใหม่ แต่ถ้ามีแฟ้มข้อมูลอยู่ในระบบจะเป็นการเขียนต่อท้ายจากไฟล์เดิม
r+ เป็นการเปิดแฟ้มข้อมูลเพื่ออ่านและเขียน ถ้าไม่มีไฟล์จะไม่สามารถเปิดได้
w+ เป็นการเปิดแฟ้มข้อมูลเพื่ออ่านและเขียน ถ้ามีแฟ้มข้อมูลอยู่ในระบบ เนื้อหาในไฟล์ที่มีอยู่เดิมจะถูกละทิ้ง และไฟล์ใหม่ที่เปิดจะกลายเป็นการเขียนไฟล์เปล่า
a+ เปิดแฟ้มข้อมูลเพื่ออ่านและเขียนต่อ ถ้าไม่มีไฟล์อยู่จะทำการสร้างไฟล์ใหม่ แต่ถ้ามีแฟ้มข้อมูลอยู่ในระบบจะเป็นการเขียนต่อท้ายจากไฟล์เดิม
หมายเหตุ ชื่อของ file stream pointer ที่ระบบกำหนดให้แล้วใน stdio.h ได้แก่ stdin (standard input stream), stdout (standard output stream) และ stderr (standard error stream) โดย stdin จะเป็นสตรีมที่รับค่าผ่านทางคีย์บอร์ด ส่วน stdout และ stderr จะเป็นสตรีมที่แสดงผลออกทางหน้าจอ
ขั้นตอนการทำงานในการประมวลผลเกี่ยวกับไฟล์
จะประกอบด้วย4 ขั้นตอนหลัก ก็คือ
1. ทำกาสร้าง file pointer
2. ทำการเปิดไฟล์โดยการเชื่อม file name เข้ากับชื่อของ stream name
3. ทำการอ่านหรือบันทึกข้อมูลลงไฟล์ผ่านทางชื่อ stream
4. การเปิดไฟล์และการปิดไฟล์
การเปิดไฟล์
ในการเปิดไฟล์จะใช้คำสั่ง fopen ซึ่งมีรูปแบบที่กำหนดในไฟล์ stdio.h ดังนี้
FILE *fopen(const char *filename, const char *mode);
โดยคำสั่ง fopen จะเปิดไฟล์ตามชื่อไฟล์และที่อยู่ของไฟล์ที่ระบุในสตริง filename และทำการคืนค่ากลับมาเป็น FILE* หรือเป็น NULL หากเปิดไฟล์ไม่สำเร็จด้วยเหตุผลต่างๆ เช่น ไม่มีไฟล์ที่ระบุ ไม่มีสิทธิ์สร้างไฟล์ เป็นต้น
ส่วน mode นั้นจะเป็นสตริงที่ระบุโหมดการทำงานกับไฟล์ สำหรับเท็กซ์ไฟล์มีโหมดต่างๆ ให้ใช้ได้ต่อไปนี้
r เป็นการเปิดแฟ้มข้อมูลเพื่ออ่านอย่างเดียว ถ้าไม่มีไฟล์จะไม่สามารถเปิดได้
w เป็นการเปิดแฟ้มข้อมูลเพื่อเขียนอย่างเดียว ถ้ามีแฟ้มข้อมูลอยู่ในระบบ เนื้อหาในไฟล์ที่มีอยู่เดิมจะถูกละทิ้ง และไฟล์ใหม่ที่เปิดจะกลายเป็นการเขียนไฟล์เปล่า
a เป็นการเปิดแฟ้มข้อมูลเพื่อเขียนต่อ ถ้าไม่มีไฟล์อยู่จะทำการสร้างไฟล์ใหม่ แต่ถ้ามีแฟ้มข้อมูลอยู่ในระบบจะเป็นการเขียนต่อท้ายจากไฟล์เดิม
r+ เป็นการเปิดแฟ้มข้อมูลเพื่ออ่านและเขียน ถ้าไม่มีไฟล์จะไม่สามารถเปิดได้
w+ เป็นการเปิดแฟ้มข้อมูลเพื่ออ่านและเขียน ถ้ามีแฟ้มข้อมูลอยู่ในระบบ เนื้อหาในไฟล์ที่มีอยู่เดิมจะถูกละทิ้ง และไฟล์ใหม่ที่เปิดจะกลายเป็นการเขียนไฟล์เปล่า
a+ เปิดแฟ้มข้อมูลเพื่ออ่านและเขียนต่อ ถ้าไม่มีไฟล์อยู่จะทำการสร้างไฟล์ใหม่ แต่ถ้ามีแฟ้มข้อมูลอยู่ในระบบจะเป็นการเขียนต่อท้ายจากไฟล์เดิม
หมายเหตุ ชื่อของ file stream pointer ที่ระบบกำหนดให้แล้วใน stdio.h ได้แก่ stdin (standard input stream), stdout (standard output stream) และ stderr (standard error stream) โดย stdin จะเป็นสตรีมที่รับค่าผ่านทางคีย์บอร์ด ส่วน stdout และ stderr จะเป็นสตรีมที่แสดงผลออกทางหน้าจอ