การสร้างไฟล์และเขียนไฟล์

การสร้างไฟล์.txt

สำหรับการเริ่มต้นใช้งานให้ทำการ include ไลบารี่ fstream

#include <fstream>

สามารถสร้างไฟล์ .txt โดยเรียกใช้ class "ofstream" ดังนี้

//class ชื่อObject("ชื่อไฟล์.txt")
ofstream file("datalogger.txt");
file.close();

หรือ

//class ชื่อObject
ofstream file;
file.open("datalogger.txt");
file.close();

ตัวอย่างที่ 1: การสร้างไฟล์

สร้าง folder ชื่อว่า “รหัสนิสิต_lab11_datalogger” และสร้างไฟล์โปรแกรม c++ ชื่อว่า “รหัสนิสิต_lab11_datalogger.cpp” ลงใน folder ในโปรแกรมกำหนดให้สร้างไฟล์.txt ชื่อว่า datalogger.txt

mkdir รหัสนิสิต_lab11_datalogger
cd รหัสนิสิต_lab11_datalogger

ใส่ code ด้านล่างลงไฟล์โปรแกรม โดยใช้คำสั่ง cat

cat >> รหัสนิสิต_lab11_datalogger.cpp

code

// function create file .txt 
#include <iostream>
#include <fstream>
using namespace std; 
void createfile_txt(){ // ฟังก์ชันสำหรับการสร้างไฟล์
    ofstream file;
    file.open("datalogger.txt"); //สร้างไฟล์.txt
    file.close();
   }

int main(){
    createfile_txt();
    return 0;
}

กดคีย์บอร์ด Ctrl+z เพื่อออจากไฟล์ แล้วใส่คำสั่ง compile code “รหัสนิสิต_lab11_datalogger.cpp” โดย กำหนดให้ไฟล์ output ชื่อว่า “createfile_txt”และทดลองรันโปรแกรม

g++ -o createfile_txt รหัสนิสิต_lab11_datalogger.cpp
./createfile_txt

ผลลัพท์ ที่ได้ดังภาพด้านล่าง

การสร้าง และเขียนข้อมูลลงไฟล์ .txt

เราสามารถสร้างไฟล์เขียนข้อมูลไปในไฟล์ได้เลย สามารถเขียนในลักษณะเดียวกับกับคำสั่งการแสดงค่า cout โดยแทนด้วยชื่อฟังก์ชันที่เราสร้างขึ้นก่อนหน้า ในที่นี้ใช้ชื่อว่า file

cout สำหรับแสดงผลบนหน้าจอ

#include <iostream>
using namespace std; 

int main(){
    cout<<"hello" <<endl;
    file.close();
    return 0;
}

ofstream สำหรับเขียนค่าลงไฟล์

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

int main(){
  ofstream file;
  file.open("datalogger.txt");
  file<<"hello"<<endl; 
  file.close();
  return 0;
}

ตัวอย่างการใช้ cout แสดงข้อมูลตัวเลข 1 ถึง 5 ทีละบรรทัด

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

void print(){
     for(int i=1;i<=5;i++){
        cout<<i<<endl;
     }
}

int main(){
    print();
    return 0;
}

compile code กำหนดให้ไฟล์ output ชื่อว่า “print”

g++ -o print รหัสนิสิต_lab11_datalogger.cpp
./print

ผลลัพท์

ตัวอย่างที่ 2: การสร้างและเขียนข้อมูลลงไฟล์

การเขียนโปรแกรมสำหรับสร้างไฟล์และเขียนข้อมูลลงไฟล์ .txt

#include <iostream>
#include <fstream>
using namespace std; 
void create_and_W_txt(){
    ofstream file;
    file.open("datalogger.txt");// สร้างไฟล์ 
    for(int i=1;i<=5;i++){  
     file<<i<<endl;  //เขียนข้อมูลตัวเลข 1 ถึง 10 ทีละบรรทัด 
     }
    file.close();
}
int main(){
    create_and_W_txt();
    return 0;
}

compile code กำหนดให้ไฟล์ output ชื่อว่า “create_and_W_txt”

g++ -o create_and_W_txt รหัสนิสิต_lab11_datalogger.cpp
./create_and_W_txt

ผลลัพท์

การเขียนข้อมูลลงไฟล์ที่มีอยู่แล้ว

เราสามารถใช้คำสั่ง append จะเช็คว่ามีไฟล์อยู่ไหมถ้ามีจะทำการเขียนข้อมูลต่อจากเดิมแต่ถ้าไม่มีจะทำการสร้างไฟล์ดังกล่าวขึ้นมาแล้วทำการเขียนข้อมูลลงไป คำสั่ง append

ofstream file("datalogger.txt", ios:app); // app = append 

ตัวอย่างที่3: การเขียนข้อมูลลงไฟล์ที่มีอยู่แล้ว

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

 void write_app(){
    ofstream file;
    file.open("datalogger.txt",ios::app);  
    for(int i=6;i<=10;i++){
        file<<i<<endl
    }
    file.close();
 }
int main(){
    write_app();
    return 0;
}

compile code กำหนดให้ไฟล์ output ชื่อว่า “wirte_app”

 g++ -o write_app รหัสนิสิต_lab11_datalogger.cpp$./write_app

ผลลัพท์

Update: May 2023

Author: Soontree Jaikhong (AIC-Researcher)

Author: Thanaluk Pranekunakol (AIC-Researcher)

Last updated

Assoc. Prof. Wiroon Sriborrirux, Founder of Advance Innovation Center (AIC) and Bangsaen Design House (BDH), Electrical Engineering Department, Faculty of Engineering, Burapha University