การเขียนไฟล์ข้อความ

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

วิธีทำ:

C++ เสนอวิธีการหลายวิธีในการเขียนไปยังไฟล์ข้อมูล แต่หนึ่งในวิธีที่ตรงไปตรงมาที่สุดคือการใช้ไลบรารี <fstream> ซึ่งมีคลาส ofstream (output file stream) ที่ออกแบบมาสำหรับงานเขียนไฟล์

ตัวอย่างการใช้ <fstream>:

#include <fstream>
#include <iostream>

int main() {
    std::ofstream file("example.txt");
    if (file.is_open()) {
        file << "Hello, world!\n";
        file << "การเขียนไฟล์ใน C++ เป็นเรื่องง่าย.";
        file.close();
    } else {
        std::cerr << "ไม่สามารถเปิดไฟล์ได้\n";
    }
    return 0;
}

ตัวอย่างผลลัพธ์ใน ’example.txt’:

Hello, world!
การเขียนไฟล์ใน C++ เป็นเรื่องง่าย.

เมื่อต้องการจัดการกับข้อมูลที่ซับซ้อนมากขึ้นหรือต้องการควบคุมกระบวนการเขียนมากขึ้น โปรแกรมเมอร์อาจหันไปใช้ไลบรารีของบุคคลที่สาม เช่น Boost Filesystem

ตัวอย่างการใช้ Boost Filesystem:

เพื่อใช้งาน Boost สำหรับการจัดการไฟล์ คุณจะต้องติดตั้งไลบรารี Boost ก่อน ตัวอย่างต่อไปนี้แสดงการสร้างและเขียนลงไปในไฟล์โดยใช้ boost::filesystem และ boost::iostreams

#include <boost/filesystem.hpp>
#include <boost/iostreams/device/file.hpp>
#include <boost/iostreams/stream.hpp>
#include <iostream>

namespace io = boost::iostreams;
namespace fs = boost::filesystem;

int main() {
    fs::path filePath("boost_example.txt");
    io::stream_buffer<io::file_sink> buf(filePath.string());
    std::ostream out(&buf);
    out << "Boost ทำให้การจัดการไฟล์เป็นเรื่องง่าย.\n";
    out << "นี่คือบรรทัดที่เขียนด้วย Boost.";
    
    return 0;
}

ตัวอย่างผลลัพธ์ใน ‘boost_example.txt’:

Boost ทำให้การจัดการไฟล์เป็นเรื่องง่าย.
นี่คือบรรทัดที่เขียนด้วย Boost.

การเลือกใช้งานระหว่าง C++ แบบดิบและไลบรารีของบุคคลที่สามเช่น Boost อาจขึ้นอยู่กับความต้องการเฉพาะของโปรเจ็กต์ของคุณและมากน้อยเพียงใดที่คุณต้องการควบคุมหรือความยืดหยุ่นในการดำเนินการเกี่ยวกับไฟล์ I/O