การอ่านไฟล์ข้อความ

C++:
การอ่านไฟล์ข้อความ

วิธีการ:

#include <iostream>
#include <fstream>
#include <string>

int main() {
    std::ifstream file("example.txt");
    std::string line;

    if (file.is_open()) {
        while (getline(file, line)) {
            std::cout << line << '\n';
        }
        file.close();
    } else {
        std::cout << "ไม่สามารถเปิดไฟล์ได้";
    }
    
    return 0;
}

หาก example.txt ประกอบด้วย:

สวัสดี, โลก!
นี่คือไฟล์ทดสอบ

ผลลัพธ์ที่ได้จะเป็น:

สวัสดี, โลก!
นี่คือไฟล์ทดสอบ

ลงลึก

ในอดีต, การจัดเก็บและเรียกดูข้อมูลเป็นเรื่องที่ยุ่งยากมาก ด้วยการมาถึงของภาษาโปรแกรมระดับสูง, การดำเนินการเช่นการอ่านจากไฟล์ข้อความกลายเป็นเรื่องง่ายขึ้น C++ เสนอวิธีการหลายๆ วิธีในการอ่านจากไฟล์, โดยใช้ประโยชน์จากระบบสตรีมขาเข้า/ขาออกที่ได้รับมาจากไลบรารีมาตรฐาน

ทางเลือกจาก สำหรับไอ/โอไฟล์ รวมถึงการใช้ฟังก์ชันภาษา C เก่าๆ (เช่น fopen, fgets ฯลฯ), API ที่เฉพาะเจาะจงของระบบปฏิบัติการ, หรือไลบรารีอื่นๆ ที่ทำให้รายละเอียดระดับต่ำที่ซ่อนอยู่ง่ายขึ้น

เมื่อเราพูดถึงรายละเอียดการข้าม, มันสำคัญมากที่ต้องรู้ว่า std::ifstream เป็นคลาสที่จัดการกับสตรีมไฟล์ขาเข้า ฟังก์ชันหลักที่เกี่ยวข้องคือ is_open() เพื่อตรวจสอบว่าสตรีมไฟล์ถูกเปิดสำเร็จหรือไม่, getline() เพื่ออ่านไฟล์ทีละบรรทัด, และ close() เพื่อปิดสตรีมไฟล์ การจัดการทรัพยากรไฟล์อย่างถูกต้องเป็นสิ่งสำคัญเพื่อหลีกเลี่ยงการรั่วไหลหรือการทำลายข้อมูล โชคดีที่ C++ สมัยใหม่ (C++11 และใหม่กว่า) รวมคุณสมบัติเช่น RAII, ซึ่งสามารถจัดการการจัดการทรัพยากรได้อย่างปลอดภัยยิ่งขึ้นผ่านการใช้งานของวัตถุ

ดูเพิ่มเติม