+ 3

How to get output in cxxdroid's terminal using command ??

What's the command ??

13th Aug 2020, 3:07 PM
Omkar Shashikant Fulare
Omkar Shashikant Fulare - avatar
2 Réponses
+ 2
#include <cstdio> #include <iostream> #include <memory> #include <stdexcept> #include <string> #include <array> std::string exec(const char* cmd) { std::array<char, 128> buffer; std::string result; std::unique_ptr<FILE, decltype(&pclose)> pipe(popen(cmd, "r"), pclose); if (!pipe) { throw std::runtime_error("popen() failed!"); } while (fgets(buffer.data(), buffer.size(), pipe.get()) != nullptr) { result += buffer.data(); } return result; } Pre-C++11 version: #include <iostream> #include <stdexcept> #include <stdio.h> #include <string> std::string exec(const char* cmd) { char buffer[128]; std::string result = ""; FILE* pipe = popen(cmd, "r"); if (!pipe) throw std::runtime_error("popen() failed!"); try { while (fgets(buffer, sizeof buffer, pipe) != NULL) { result += buffer; } } catch (...) { pclose(pipe); throw; } pclose(pipe); return result; } Replace popen and pclose with _popen and _pclose for Windows. By following the same u can get ur need
15th Aug 2020, 8:16 AM
Zeeshan Aldar
Zeeshan Aldar - avatar
+ 1
Ok , then what place I should place that code into
11th Oct 2022, 8:14 AM
TCorn
TCorn - avatar