Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

POSIX का उपयोग करके कमांड को कैसे निष्पादित करें और C++ के भीतर कमांड का आउटपुट कैसे प्राप्त करें?


आप पॉपन और प्क्लोज़ फंक्शन्स का उपयोग प्रोसेस में आने और जाने के लिए कर सकते हैं। पॉपन () फ़ंक्शन एक पाइप बनाकर, फोर्किंग और शेल को लागू करके एक प्रक्रिया खोलता है। हम स्टडआउट की सामग्री को पढ़ने के लिए बफर का उपयोग कर सकते हैं और इसे परिणाम स्ट्रिंग में जोड़ सकते हैं और प्रक्रियाओं से बाहर निकलने पर इस स्ट्रिंग को वापस कर सकते हैं।

उदाहरण

#include <iostream>
#include <stdexcept>
#include <stdio.h>
#include <string>

using namespace std;

string exec(string command) {
   char buffer[128];
   string result = "";

   // Open pipe to file
   FILE* pipe = popen(command.c_str(), "r");
   if (!pipe) {
      return "popen failed!";
   }

   // read till end of process:
   while (!feof(pipe)) {

      // use buffer to read and add to result
      if (fgets(buffer, 128, pipe) != NULL)
         result += buffer;
   }

   pclose(pipe);
   return result;
}

int main() {
   string ls = exec("ls");
   cout << ls;
}

आउटपुट

यह आउटपुट देगा -

a.out
hello.cpp
hello.py
hello.o
hydeout
my_file.txt
watch.py

  1. C++ का उपयोग करके OpenCV में FPS मान कैसे प्राप्त करें?

    FPS मान प्राप्त करने के लिए, हमने get() के get() कमांड और CAP_PROP_FPS को get() के तर्क के रूप में इस्तेमाल किया। यह तर्क एफपीएस को पूर्णांक रूप में लौटाता है। कार्यक्रम की शुरुआत में, हमने एफपीएस नामक एक पूर्णांक चर लिया है। तब हमने FPS =cap.get(CAP_PROP_FPS) का उपयोग किया; FPS वैल्यू को वेरिएबल म

  1. सी ++ का उपयोग कर ओपनसीवी में वर्तमान फ्रेम की स्थिति कैसे प्राप्त करें?

    वर्तमान फ़्रेम का अर्थ है कि आप एक वीडियो चला रहे हैं और अभी दिखाया गया फ़्रेम वर्तमान फ़्रेम है। इसे सक्रिय फ्रेम के रूप में भी जाना जाता है। कई अनुप्रयोगों में, आपको वर्तमान फ्रेम की संख्या प्राप्त करने की आवश्यकता हो सकती है। निम्न प्रोग्राम वर्तमान फ्रेम की स्थिति को पढ़ता है और इसे कंसोल विंडो

  1. C++ का उपयोग करके OpenCV में किसी विशिष्ट पिक्सेल का मान कैसे प्राप्त करें?

    किसी विशिष्ट पिक्सेल के मान को पढ़ने के लिए, हम at या डायरेक्ट एक्सेस पद्धति का उपयोग कर सकते हैं। यहां, हम दोनों तरीकों के बारे में जानेंगे। आइए एट विधि से शुरू करते हैं। निम्न प्रोग्राम RGB छवि के (10, 29) पर स्थित पिक्सेल मान को पढ़ता है। उदाहरण #शामिल करें jpg);//एक छवि लोड करना // int x =image