C 使用liburl 庫訪問influxDB

2021-09-28 17:39:20 字數 1204 閱讀 5886

在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...