การเก็บข้อมูลกับTime stamp
เมื่อข้อมูลมีการเข้ามา เราจำเป็นจะต้องจดเวลาที่ได้รับข้อมูลมาเพื่อที่จะได้นำไปสืบค้นได้ง่าย หรือสามารถนำไปนำเสนอในรูปแบบของกราฟที่เป็น time series ได้ โดยการจดเวลาลงไปพร้อมกับข้อมูลนี้เรียกว่าการทำ time stamp เราสามารถใส่ time stamp ลงไปบนข้อมูลได้อย่างง่ายโดยการเพิ่มไลบรารี่
ซึ่งจะเป็นไลบรารี่ที่อ้างอิงกับเวลาที่อยู่บนเครื่องของเรา เราสามารถดูรายละเอียดของแต่ละฟังก์ชันได้ ตัวอย่างด้านล่างนี้จะเป็นตัวอย่างการสร้างไฟล์และจำลองข้อมูลที่เข้ามาโดยมีเวลาติดมาด้วย
ตัวอย่างที่6: เขียนข้อมูลและใส่เวลาที่เก็บข้อมูล
Copy #include <iostream>
#include <fstream>
#include <ctime> // สำหรับอ่านค่าเวลา
using namespace std;
void file_create_ts(){ //ฟังก์ชั่นสร้างไฟล์
ofstream file;
file.open("datalogger_timestamp.txt");// สร้างไฟล์
time_t now = time(0); //สร้างตัวแปรที่เก็บค่าเวลาปัจจุบัน
for(int i=1;i<=5;i++){
file<<i<<" : "<<ctime(&now); //เขียนข้อมูลตัวเลข 1 ถึง 5 ทีละบรรทัด และต่อด้วยเวลา
}
file.close();
}
int main(){
file_create_ts();
return 0;
}
compile code กำหนดให้ไฟล์ output ชื่อว่า “file_create_ts”
Copy g++ รหัสนิสิต_lab11_datalogger.cpp -o file_create_ts
./file_create_ts
ผลลัพธ์
ตัวอย่างที่7: อ่านข้อมูลใส่ไฟล์โดยใช้ getline()
เราสามารถใช้ getline() ฟังก์ชั่นที่อยู่ในไลบารี่ของ string ได้ดังตัวอย่างด้านล่าง
Copy #include <iostream>
#include <fstream>
#include <string>
using namespace std;
void read_file_ts(){
string data; //กำหนดตัวแปรสำหรับรับค่าที่อ่านจากไฟล์มาแสดงผล
ifstream file;
file.open("datalogger_timestamp.txt"); //รับข้อมูลจากไฟล์.txt
if(!file.is_open()){
cout<< "can't open file\n";
}else{
//คำสั่ง while จะเป็นจริงเมื่อพบคำสั่งการขึ้นบรรทัดใหม่ในไฟล์แล้วเก็บข้อมูลลง data
while (getline(file,data)){
cout << data<<endl;
}
file.close();
}
}
int main(){
read_file_ts();
return 0;
}
compile code กำหนดให้ไฟล์ output ชื่อว่า “read_file_ts”
Copy g++ รหัสนิสิต_lab11_datalogger.cpp -o read_file_ts
./file_create_ts
ผลลัพท์
Update: May 2023
Author: Soontree Jaikhong (AIC-Researcher)
Author: Thanaluk Pranekunakol (AIC-Researcher)