原创 編寫第一個CGI程序

1.首先確定自己的apache http服務器啓動。 服務器還沒起來呢 啓動服務器 2.編寫cgi可執行文件 #include <iostream> int cgi_hello_world() { std::cout<<"C

原创 算法總結:判斷一個數是否爲素數

1.約定 x%y爲x取模y,即x除以y所得的餘數,當x<y時,x%y=x,所有取模的運算對象都爲整數。 x^y表示x的y次方。乘方運算的優先級高於乘除和取模,加減的優先級最低。 見到x^y/z這樣,就先算乘方,再算除法。 A/B,稱

原创 C++ strftime和std::get_time對linux struct tm的作用

代碼說明一切。 strftime給 struct tm結構體的日期的年+1900,月份+1,並按格式轉成字符串 std::get_time則對字符串獲取struct tm結構體,年份-1900,月份-1 代碼如下: #include

原创 linux tail命令監控日誌神器

直接說重點,監控的日誌文件名爲filename,cd到他所在位置下,執行 tail -n 100 filename -f 可以監控日誌的動態變化。 -n顯示最後的多少行,-f 用於監視文件增長,沒有-f,看不到日誌動態新增。 tail命令

原创 DLMS電能表通訊協儀

本文是對於IEC62056協議族,即DLMS協議族的中文說明手冊。本文並沒有包含DLMS協議族的全部,但解釋了在應用中可能出現的大多數情況。本文的目的是爲電能量數據採集終端提供與使用DLMS協議族的電能表通訊的協議說明。     

原创 每天一個linux命令(37):date命令

每天一個linux命令(37):date命令 在linux環境中,不管是編程還是其他維護,時間是必不可少的,也經常會用到時間的運算,熟練運用date命令來表示自己想要表示的時間,肯定可以給自己的工作帶來諸多方便。 1.命令格

原创 不需要進入sqlite3命令的方法

sqlite3   xxx.db "sql語句"

原创 使用cJSON解析JSON字符串

JSON學習-使用cJSON解析    使用cJSON解析JSON字符串   一、爲何選擇cJSON           我們在使用JSON格式時,如果只是處理簡單的協議,可以依據JSON格式,通過對字符串的操作來進行

原创 使用select實現多線程定時器

#include <iostream> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/time.h> #include

原创 結構體中運算符的重載

C++中,結構體是無法進行==,>,<,>=,<=,!=這些操作的,這也帶來了很多不方便的地方,尤其是在使用STL容器的時候,如果我們可以往語句中傳入結構體,一些事情將會變得很簡單。 比如二分查找,binary_crearch只能對數組進

原创 C++ STL list的初始化、添加、遍歷、插入、刪除、查找、排序、釋放

list是C++標準模版庫(STL,Standard Template Library)中的部分內容。實際上,list容器就是一個雙向鏈表,可以高效地進行插入刪除元素。 使用list容器之前必須加上STL的list容器的頭文件:#incl

原创 使用libvlc播放音樂,實時獲取位置、播放狀態、時長,播放httpURL

#include <iostream> #include <unistd.h> #include "vlc/vlc.h" #include "libvlc.h" #include "libvlc_media_player.h" #i

原创 Linux使用帶時區轉換的時間函數注意事項(負負得正)

linux時間結構體定義: struct tm {      int    tm_sec; //代表目前秒數,正常範圍爲0-59,但允許至61秒      int    tm_min; // 代表目前分數

原创 給snprintf函數弄個動態的格式串

先上代碼:#include <stdio.h> int main() { char chBuf[40] = {0}; char chParam[24] = {0}; snprintf(chParam, sizeof(chPara

原创 C++11實現生產者和消費者

#include <iostream> #include <thread> #include <mutex> #include <deque> #include <vector> #include <condition_variabl