From 06677ee183f5230d3fde9bce230f083e4d1ea2d5 Mon Sep 17 00:00:00 2001 From: LatyshevGI Date: Thu, 22 May 2025 22:06:19 +0300 Subject: [PATCH] =?UTF-8?q?code:=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B0=20=D1=81=D1=81=D1=8B=D0=BB=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + main.cpp | 38 +++++++++++++++++++++++++++++++------- 2 files changed, 32 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index 925f687..25214d7 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ /main.exe /unittest.layout /curl +libcurl-x64.dll diff --git a/main.cpp b/main.cpp index fe31698..e655daa 100644 --- a/main.cpp +++ b/main.cpp @@ -4,28 +4,52 @@ #include "text.h" #include "svg.h" - struct Input { vector vec; size_t korz{}; }; -Input input_data(istream& in, bool promt = false) { + +Input input_data(istream& in, bool prompt = false) { Input lin; size_t n, korz; - if(promt) - cerr << "Number of elem "; + if(prompt) + cerr << "Number of elements: "; in >> n; lin.vec.resize(n); for (size_t i = 0; i < n; i++) in >> lin.vec[i]; - if(promt) + if(prompt) cerr << "Enter bin count: "; in >> lin.korz; return lin; } -int main() { - curl_global_init(CURL_GLOBAL_ALL); + +size_t write_data(void* ptr, size_t size, size_t nmemb, void* stream) { + size_t written = fwrite(ptr, size, nmemb, stdout); + return written; +} + +int main(int argc, char* argv[]) { + if (argc > 1) { + CURL* curl = curl_easy_init(); + if (curl) { + curl_easy_setopt(curl, CURLOPT_URL, argv[1]); + curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data); + + CURLcode res = curl_easy_perform(curl); + if (res != CURLE_OK) { + cerr << "cURL error: " << curl_easy_strerror(res) << endl; + } + + curl_easy_cleanup(curl); + } else { + cerr << "curl_easy_init() failed" << endl; + } + return 0; + } + auto in = input_data(cin); auto bins = make_histogram(in.korz, in.vec); show_histogram_svg(bins); + return 0; }