Input/output with files

ในบทสุดท้ายของบทเรียนภาษา C++ นี้ คุณจะได้เรียนการดำเนินการพื้นฐานกับไฟล์ โดยเราสามารถที่อ่านและเขียนบางอย่างลงไปใน text ไฟล์ fstream เป็นไลบรารีมาตรฐานที่ช่วยให้เราสามารถดำเนินการบางอย่างกับไฟล์ โดยจะมี 3 steam classes ในไลบรารีที่แสดงในรายการข้างล่างนี้

  • ofstream: Stream class เพื่อเขียนข้อมูลลงไฟล์
  • ifstream: Stream class เพื่ออ่านข้อมูลจากไฟล์
  • fstream: Stream class เพื่ออ่านข้อมูลและเขียนข้อมูลกับไฟล์

อย่างไรก็ตาม ในบทนี้เราจะทำงานกับแค่ text ไฟล์เท่านั้น

การเปิดไฟล์

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

// open for write
ofstream myfile1;
myfile1.open("example1.txt");

// open file for read
ofstream myfile2;
myfile2.open("example2.txt");

// open file for read and write
ofstream myfile3;
myfile3.open("example3.txt");

Closing a file

หลังจากเราเสร็จงานของเราแล้ว เราต้องผิดไฟล์โดยการใช้ฟังก์ชัน close()

myfile1.close();
myfile2.close();
myfile3.close();

การเขียนข้อมูลลงไฟล์ (text files)

เราสามารถเขียนตัวอักษร ข้อความหรือตัวเลข ลงไปในไฟล์โดยการใช้เครื่องหมาย << กับไฟล์ที่เราต้องการจะเขียนไปยัง

#include <iostream>
#include <fstream>
using namespace std;

int main () {
ofstream myfile;
myfile.open ("example.txt");
myfile << "This is the first line.\n";
myfile << "The second line.\n";
myfile << 10.5;
myfile.close();
return 0;
}

ในตัวอย่าง เราได้เปิดไฟล์ example.txt และเขียนข้อความลงไปสองบรรทัด และตัวเลขอีกหหนึ่งบรรทัด และปิดไฟล์หลังจากที่เขียนเสร็จแล้ว เมื่อคุณเปิดดูไฟล์ example.txt สิ่งที่คุณเห็นในไฟล์ควรจะเป็นแบบนี้

This is the first line.
The second line.
10.5

การอ่านข้อมูลจากไฟล์ (text files)

ต่อไป เราจะมาอ่านเนื้อหาจากไฟล์ที่เราได้เพิ่งเขียนลงไป

#include <iostream>
#include <fstream>
#include <string>
using namespace std;

int main () {
ofstream myfile;
myfile.open ("example.txt");
while ( getline (myfile,line) )
{
cout << line << '\n';
}
myfile.close();
return 0;
}

ในตัวอย่าง เราใช้ while-loop วนรอบเพื่ออ่านข้อมูลจากไฟล์ ฟังก์ชัน getline เป็นฟังก์ชันของ string ที่ช่วยให้เราสามารถอ่านข้อมูลมาทีละบรรทัดและใส่ไว้ในตัวแปร line และฟังก์ชัน getline จะไม่อ่านการขึ้นบรรทัดใหม่ (\n) ในไฟล์ มันจะวนซ้ำจนกว่าจะสิ้นสุดบรรทัดสุดท้ายของไฟล์


บทความเกี่ยวกับ Input/output with files

Input/output with files ในภาษา C

ในบทสุดท้ายของบทเรียน นี้ เราจะเรียนรู้เกี่ยวกับไฟล์ในภาษา C เช่น การเปิดไฟล์ การอ่านข้อมูลจากไฟล์ และการเขียนข้อมูลลงไปบนไฟล์ ทั้ง text file และ binary file ใน...

Input/output with files ในภาษา Java

ในบทนี้ คุณจะได้เรียนรู้การทำงานกับไฟล์ การอ่าน text file และการเขียนข้อมูลลงบน text file ในภาษา Java นอกจากหน่วยความจำสำรอง (ram) ที่สามารถเก็บข้อมูลได้ชั่วครา...

Input/output with files ในภาษา Visual Basic

ในบทนี้เราจะทำงานกับไฟล์ คุณจะได้เรียนรู้เกี่ยวกับการอ่านและเขียน text file ในภาษา Visual Basicโปรแกรมคอมพิวเตอร์มักจะทำงานกับไฟล์ ไฟล์ใช้สำหรับเก็บข้อมูลบนหน่ว...

Input/output with files ในภาษา C#

ในบทนี้ คุณจะได้เรียนรู้เกี่ยวกับการเขียนโปรแกรม เพื่ออ่านข้อมูลจากไฟล์และเขียนข้อมูลลงไปบนไฟล์ในภาษา C#โปรแกรมคอมพิวเตอร์ส่วนมากทำงานกับไฟล์ ซึ่งไฟล์จะแบ่งออกเ...