выводит текущую стоимость биткоина (Bitcoin) и эфириума (Ethereum) в долларах США
Добавлено: 08 авг 2026, 11:18
Ниже представлен готовый пример программы, которая делает запрос к API CoinGecko и выводит текущую стоимость биткоина (Bitcoin) и эфириума (Ethereum) в долларах США.
Подготовка и зависимости
Перед сборкой программы убедитесь, что у вас установлена библиотека libcurl.
В Linux (Ubuntu/Debian):
В macOS (Homebrew):
В Windows: Можно использовать vcpkg или скачать готовые заголовки и библиотеки для MinGW/MSVC.
crypto_tracker.cpp
Компиляция и запуск
Пример вывода:
Подготовка и зависимости
Перед сборкой программы убедитесь, что у вас установлена библиотека libcurl.
В Linux (Ubuntu/Debian):
Код: Выделить всё
sudo apt-get install libcurl4-openssl-devКод: Выделить всё
brew install curlcrypto_tracker.cpp
Код: Выделить всё
#include <iostream>
#include <string>
#include <curl/curl.h>
// Функция обратного вызова для записи полученных данных
size_t WriteCallback(void* contents, size_t size, size_t nmemb, std::string* userp) {
size_t totalSize = size * nmemb;
userp->append((char*)contents, totalSize);
return totalSize;
}
int main() {
CURL* curl;
CURLcode res;
std::string readBuffer;
// Инициализация libcurl
curl_global_init(CURL_GLOBAL_DEFAULT);
curl = curl_easy_init();
if (curl) {
// Ссылка на публичный API CoinGecko для получения цен BTC и ETH в USD
std::string url = "https://api.coingecko.com/api/v3/simple/price?ids=bitcoin,ethereum&vs_currencies=usd";
curl_easy_setopt(curl, CURLOPT_URL, url.c_str());
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteCallback);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &readBuffer);
// Некоторые API требуют User-Agent
curl_easy_setopt(curl, CURLOPT_USERAGENT, "libcurl-agent/1.0");
// Выполнение запроса
res = curl_easy_perform(curl);
if (res != CURLE_OK) {
std::cerr << "Ошибка запроса: " << curl_easy_strerror(res) << std::endl;
} else {
std::cout << "--- Данные криптовалют ---" << std::endl;
std::cout << readBuffer << std::endl;
}
// Очистка
curl_easy_cleanup(curl);
}
curl_global_cleanup();
return 0;
}Компиляция и запуск
Код: Выделить всё
g++ crypto_tracker.cpp -o crypto_tracker -lcurl
./crypto_trackerКод: Выделить всё
--- Данные криптовалют ---
{"bitcoin":{"usd":67420},"ethereum":{"usd":3520}}