การเก็บข้อมูลกับTime stamp

การเก็บข้อมูลกับTime stamp

เมื่อข้อมูลมีการเข้ามา เราจำเป็นจะต้องจดเวลาที่ได้รับข้อมูลมาเพื่อที่จะได้นำไปสืบค้นได้ง่าย หรือสามารถนำไปนำเสนอในรูปแบบของกราฟที่เป็น time series ได้ โดยการจดเวลาลงไปพร้อมกับข้อมูลนี้เรียกว่าการทำ time stamp เราสามารถใส่ time stamp ลงไปบนข้อมูลได้อย่างง่ายโดยการเพิ่มไลบรารี่

#include <ctime>

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

ตัวอย่างที่6: เขียนข้อมูลและใส่เวลาที่เก็บข้อมูล

#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”

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

ผลลัพธ์

ตัวอย่างที่7: อ่านข้อมูลใส่ไฟล์โดยใช้ getline()

เราสามารถใช้ getline() ฟังก์ชั่นที่อยู่ในไลบารี่ของ string ได้ดังตัวอย่างด้านล่าง

#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”

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

ผลลัพท์

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