এখানে আমরা লিনাক্সে পাইপের জন্য একটি সি প্রোগ্রাম তৈরি করব। এই প্রোগ্রামে, আমরা ইনপুট স্ট্রিম থেকে কিছু টেক্সট পড়ব এবং তারপর আউটপুট স্ক্রিনে প্রিন্ট করব।
প্রথমে, লিনাক্সে পাইপ সম্পর্কে মূল ধারণা শিখি
পাইপ ডেটা স্থানান্তর করতে ব্যবহৃত হয়, এটি লিনাক্স বা ইউনিক্স-ভিত্তিক সিস্টেমে দুটি প্রক্রিয়া/কমান্ড/প্রোগ্রামের মধ্যে স্ট্যান্ডার্ড আউটপুট স্থানান্তরের জন্য যোগাযোগের জন্য ব্যবহার করা যেতে পারে।
একটি গুরুত্বপূর্ণ বিষয় লক্ষ্য করবেন যে পাইপগুলি একদিকনির্দেশী অর্থাৎ প্রোগ্রামে ডেটা বা বাম থেকে ডানে বা ডান থেকে বামে প্রবাহিত হতে পারে।
এখানে, আমরা একটি পাইপ তৈরি করব যা ব্যবহারকারীদের থেকে ইনপুট পড়বে এবং আউটপুট স্ক্রিনে প্রিন্ট করবে। বাস্তবায়নটি আকার ২ এর একটি অ্যারে নেয় যা ইনপুট arr[0] এবং আউটপুট arr[1] রিটার্ন করতে ব্যবহৃত হয়।
লিনাক্সে পাইপের জন্য সি প্রোগ্রাম
উদাহরণ
#include <errno.h> #include<string.h> #include <fcntl.h> #include <stdio.h> #include <stdlib.h> #include <sys/wait.h> #include <unistd.h> int main(){ int Pipe[2]; char string[100]; if (pipe(Pipe) == -1){ perror("পাইপ তৈরি করতে ব্যর্থ"); exit(1); } scanf("%s", string); write(Pipe[1], string, strlen(string)+1); printf("\n"); read(Pipe[0], string, 5); printf("%s", string); }
আউটপুট
ইনপুট: TutorialsPoint TutorialsPoint