在modular2 edge 中需要使用c++ 訪問influxdb 資料庫,之前使用influxdb.cxx 來實現,最近要將他們新增到modular-2 edge 的microservice 中去,詳細一看,這個庫居然沒有讀資料的功能,而且封裝的很深,改起來比較麻煩,乾脆自己來寫乙個。網路上輕量級的http client 庫並不多。最後決定使用libcurl 庫。
在influxdb 的文件中,經常使用curl 命令,這是乙個命令程式,而libcurl 是乙個c++ 的庫。它的依賴項是curl。
安裝sudo apt-get update
sudo apt-get install curl
sudo apt-get install libcurl4-openssl-dev
ubuntu 中 一般安裝在
標頭檔案 :\usr\include\x86_64-linux-gnu\curl 中
庫: \usr\lib\x86_64-linux-gnu\libcurl.so
在編譯時只要新增 -lcurl 的選項,在程式中使用按下面的方式使用標頭檔案
#include
就可以使用libcurl 庫了。編譯應用程式時,編譯命令中 新增 -lcurl 選項。
安裝在windows wsl 下安裝
sudo apt-get update && sudo apt-get install influxdb
啟動 influxdb
>influxd
訪問influxdb 的**,讀influxdb 的響應(json格式)需要使用乙個writecallback
size_t writecallback(char *contents, size_t size, size_t nmemb, void *userp)
string influxdbquery(string url,string body)
return null;
}
void influxdbwrite(float temperature,float humidity)
}} return "";
}
influxdb query 命令返回的是乙個json 格式,它長成這個樣子
]}]}
自己寫程式,覺得更踏實! C語言中的nan和inf使用
本文總結nan和inf在c語言當中的含義 產生和判定方法。表示not a number,等同於 ind indeterminate windows 對浮點數進行了未定義的操作 對負數開方,對負數求對數,0.0 0.0,0.0 inf inf inf inf inf這些操作都會得到nan。0 0會產生...
C 使用LINQ訪問資料庫
c 的linq方式訪問資料庫無疑是非常方便的,下面給出了使用linq方式訪問mssql的基本方法。首先宣告命名空間using system.data.sqlclient 再使用sqlconnection類連線,sqlcommand類執行sql命令,結果返回給sqldatareader類或其它類。各類...
C 使用EF訪問Sqlite資料庫
entityframework system.data.sqlite system.data.sqlite.core system.data.sqlite.ef6 system.data.sqlite.linq name sqlitetest connectionstring data source...