Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "rapidjson/include/rapidjson/document.h"
- #include <iostream>
- #include <fstream>
- #include <stdio.h>
- #include <curl/curl.h>
- #include <unistd.h>
- #include <unordered_map>
- #include <string>
- using namespace rapidjson;
- struct myData
- {
- std::fstream *file;
- std::string *str;
- };
- size_t write_data(void *ptr, size_t size, size_t nmemb, myData *data)
- {
- size_t numBytes = size * nmemb;
- if (data->file)
- data->file->write((char*)ptr, numBytes);
- if (data->str)
- *data->str += std::string((char*)ptr, numBytes);
- return numBytes;
- }
- //function to get coin data and perform analysis
- int getData()
- {
- int count = 0;
- //begin non terminating loop
- while(true)
- {
- count++;
- CURL *curl = curl_easy_init();
- if (curl)
- {
- curl_easy_setopt(curl, CURLOPT_URL, "http://pubapi.cryptsy.com/api.php?method=singlemarketdata&marketid=155");
- std::fstream file("/home/coinz/cryptsy/myfile.txt", std::ios_base::out | std::ios_base::ate);
- std::string json;
- myData data;
- data.file = &file;
- data.str = &json;
- curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, &write_data);
- curl_easy_setopt(curl, CURLOPT_WRITEDATA, &data);
- /* Perform the request, res will get the return code */
- CURLcode res = curl_easy_perform(curl);
- /* Check for errors */
- if (res != CURLE_OK)
- {
- std::cerr << "curl_easy_perform() failed: " << curl_easy_strerror(res) << std::endl;
- }
- else
- {
- file << std::endl;
- //begin deserialization
- Document document;
- document.Parse(json.c_str());
- assert(document.HasMember("success"));
- assert(document["success"].IsString());
- //std::cout << "The Last Traded Price is = " << document["lasttradeprice"].GetString() << std::endl;
- }
- /* always cleanup */
- curl_easy_cleanup(curl);
- }
- //timer for URL request. *ADUJST ME AS DESIRED*
- usleep(10000000);
- }
- return 0;
- }
- //Le Main
- int main(void)
- {
- getData();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement