আপনি পপেন এবং pclose ফাংশনগুলিকে প্রক্রিয়াগুলিতে পাইপ করার জন্য ব্যবহার করতে পারেন৷ popen() ফাংশন একটি পাইপ তৈরি করে, কাঁটাচামচ করে এবং শেলকে আহ্বান করে একটি প্রক্রিয়া খোলে। আমরা stdout এর বিষয়বস্তু পড়ার জন্য একটি বাফার ব্যবহার করতে পারি এবং এটিকে একটি ফলাফলের স্ট্রিংয়ে যুক্ত করতে পারি এবং প্রক্রিয়াগুলি প্রস্থান করার সময় এই স্ট্রিংটি ফেরত দিতে পারি।
উদাহরণ
#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