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