การอ่านไฟล์
การอ่านไฟล์ .txt
จากไลบารี่ fstream เราสามารถใช้ class ifstream ในการอ่านข้อมูลจากไฟล์ .txt ได้
ifstream file("datalogger.txt",ios::in);
โดยการอ่านค่าไฟล์จะต้องประกาศตัวแปรสำหรับนรับค่าจากไฟล์ที่เราได้ทำการมาด้วย
ตัวอย่างที่4: การอ่านข้อมูลจากไฟล์
#include <iostream>
#include <fstream>
using namespace std;
void read_data(){
int data; //กำหนดตัวแปรสำหรับรับค่าที่อ่านจากไฟล์มาแสดงผล
ifstream file("datalogger.txt"); //รับข้อมูลจากไฟล์.txt
while (file>>data){ // ถ้าไม่มีข้อมูลจากไฟล์ส่งเข้าตัวแปร data โปรแกรมจะหยุดอ่าน
cout << data<<endl;
}
file.close();
}
int main(){
read_data();
return 0;
}
compile code กำหนดให้ไฟล์ output ชื่อว่า “read_data”
g++ -o read_data รหัสนิสิต_lab11_datalogger.cpp
./read_data
ผลลัพท์

ตัวอย่างที่5: การอ่านข้อมูลจากไฟล์และเช็คไฟล์
จากตัวอย่างเป็นการอ่านค่าจากไฟล์ datalogger.txt มาเก็บไว้ในตัวแปร data แล้วแสดงผลด้วยคำสั่ง cout ซึ่งจะเป็นการอ่านข้อมูลแค่เพียงบรรทัดเดียว ถ้าต้องการให้อ่านข้อมูลบรรถัดไปจะต้องทำการเขียนโปรแกรมให้อ่านค่าไปเลื่อนๆ
ในกรณีที่ไฟล์ที่ต้องการ อ่านแต่ไม่มีไฟล์อยู่ c++ จะไม่เตือนดังนั้นให้ใส่ code สำหรับตรวจสอบไฟล์ด้วย
#include <iostream>
#include <fstream>
using namespace std;
void read_n_check_file(){
int data; //กำหนดตัวแปรสำหรับรับค่าที่อ่านจากไฟล์มาแสดงผล
ifstream file;
file.open("datalogger.txt"); //รับข้อมูลจากไฟล์.txt
if(!file.is_open()){ // ถ้าไม่สามารถเปิดไฟล์ได้ใ้แสดงข้อความ
cout<< "can't open file\n";
}else{
while (file>>data){
cout << data<<endl;
}
file.close();
}
}
int main(){
read_n_check_file();
return 0;
}
compile code กำหนดให้ไฟล์ output ชื่อว่า “read_n_check_file”
g++ -o read_n_check_file รหัสนิสิต_lab11_datalogger.cpp
./read_n_check_file
Update: May 2023
Author: Soontree Jaikhong (AIC-Researcher)
Author: Thanaluk Pranekunakol (AIC-Researcher)
Last updated
Was this helpful?