কিভাবে একটি টেক্সট ফাইল পড়তে হয় এবং সি-তে সমস্ত স্ট্রিং প্রিন্ট করতে হয়

Kibhabe Ekati Teksata Pha Ila Parate Haya Ebam Si Te Samasta Strim Printa Karate Haya



একটি টেক্সট ফাইল পড়া এবং সব মুদ্রণ স্ট্রিং একটি মূল কাজ যা প্রায়শই সি প্রোগ্রামাররা করে থাকে। এর মূল বিষয়গুলি বোঝা গুরুত্বপূর্ণ পড়া লেখার ফাইল সি এবং কিভাবে ছাপা দ্য স্ট্রিং এই কাজটি চেষ্টা করার আগে এটি থেকে।

একটি টেক্সট ফাইল পড়া এবং এতে থাকা সমস্ত স্ট্রিং মুদ্রণ এই নিবন্ধে সি প্রোগ্রামিং ব্যবহার করে প্রদর্শন করা হবে।







একটি টেক্সট ফাইল পড়ুন এবং সি তে সমস্ত স্ট্রিং প্রিন্ট করুন

একটি টেক্সট ফাইল পড়ার জন্য এবং সি-তে সমস্ত স্ট্রিং প্রিন্ট করার জন্য চারটি ফাংশন রয়েছে, যা নিম্নরূপ:



পদ্ধতি 1: fread() ফাংশন

ডেটা হল ফাইল থেকে পড়ুন এবং সি ফাংশন ব্যবহার করে একটি বাফারে সংরক্ষণ করা হয় fread() . একটি অ্যারের বাফারে উপাদান গণনা করার জন্য, fread() পদ্ধতি ফাংশন প্যারামিটার হিসাবে প্রদত্ত ইনপুট স্ট্রীম থেকে পড়ে। প্রতিটি অক্ষর ফাংশন পড়ার সাথে সাথে নির্দিষ্ট ইনপুট স্ট্রীমের জন্য ফাইল অবস্থান নির্দেশক এগিয়ে যায়।



দ্য fread() C-এর পদ্ধতিতে সিনট্যাক্স আছে।





সাইজ_টি ফ্রেড ( অকার্যকর * array_buffer, size_t আকার , size_t গণনা, FILE * ফাইল_স্ট্রিম )

fread() ফাংশন প্যারামিটার আরও বিস্তারিতভাবে দেখুন:



অ্যারে বাফার: ডেটা সাময়িকভাবে কম্পিউটারের বাফারে রাখা হয়, একটি মেমরি স্পেস। এই যুক্তিটি একটি পয়েন্টার যা বাফারের মেমরিতে থাকা স্থানটিকে উল্লেখ করে যেটিতে ডেটা থাকবে পড়া ইনপুট স্ট্রীম থেকে।

আকার: এই যুক্তিটি প্রতিটি ব্লকের জন্য ইনপুট স্ট্রীম থেকে কত বাইট ডেটা পড়া হবে তার ফাংশন নির্দেশ করে।

গণনা: ডেটা ইনপুট স্ট্রীম থেকে কতগুলি অক্ষর পড়া হবে তা নির্দিষ্ট করে।

file_stream: এটি একটি পয়েন্টার যা একটি FILE অবজেক্টকে উল্লেখ করে।

# অন্তর্ভুক্ত করুন
# অন্তর্ভুক্ত করুন
int প্রধান ( ) {
ফাইল * ফাইল ;
চার বাফার [ 100 ] ;
ফাইল = fopen ( 'C_File.txt' , 'আর' ) ;
যদি ( ফাইল == শূন্য ) {
printf ( 'ত্রুটি: ফাইল খুলতে পারেনি \n ' ) ;
ফিরে 1 ;
}
int গণনা = ফ্রেড ( এবং buffer, sizeof ( চর ) , 100 , ফাইল ) ;
fclose ( ফাইল ) ;
printf ( 'ফাইল থেকে পড়া ডেটা হল: %s৷ \n ' , বাফার ) ;
printf ( 'পড়া উপাদানের সংখ্যা: %d' , গণনা ) ;
fclose ( ফাইল ) ;
ফিরে 0 ;
}

এই উদাহরণে, আমরা আকারের একটি অক্ষর অ্যারে বাফার সংজ্ঞায়িত করি 100 ব্যবহার করার আগে fopen() টেক্সট ফাইল খুলতে C_File.txt রিড মোডে। একটি if স্টেটমেন্ট ব্যবহার করে, আমরা নির্ধারণ করি যে ফাইলটি সফলভাবে খোলা হয়েছে কিনা। নিচের ধাপ পর্যন্ত পড়তে হয় 100 ফাইল থেকে ডেটা বাইট ব্যবহার করে fread() . লক্ষ্য বাফার, এই উদাহরণে বাফার অ্যারে, প্রথম পরামিতি fread()। দ্বিতীয় যুক্তি, আকার , প্রতিটি আইটেমের আকার নির্ধারণ করে যেভাবে আমরা অক্ষরে পড়ছি . তৃতীয় ইনপুটটি পড়ার পরিমাণ, যা এই ক্ষেত্রে 100 . দ্য ফাইল পয়েন্টার চতুর্থ প্যারামিটার। অবশেষে, আমরা ব্যবহার করি printf() ফাইল থেকে পড়া ডেটা প্রিন্ট করতে এবং fclose() ফাইল বন্ধ করতে। এই প্রোগ্রাম চালানোর ফলে এই মত ফলাফল হবে, যদি C_File.txt :

আউটপুট

পদ্ধতি 2: fgets() ফাংশন

সি ভাষা fgets() মেথড স্ট্রীম থেকে স্ট্রিং str এ n অক্ষর পড়ে। দ্য fgets() পদ্ধতি স্ট্রীম থেকে অক্ষর পড়া অবিরত (n-1) অক্ষর পড়া হয়েছে, একটি নতুন লাইন অক্ষর সনাক্ত করা হয়েছে, বা ফাইলের শেষ (EOF) পৌঁছে গেছে।

# অন্তর্ভুক্ত করুন
int প্রধান ( ) {
ফাইল * ফাইল ;
চার বাফার [ 100 ] ;
ফাইল = fopen ( 'C_File.txt' , 'আর' ) ;
যদি ( ফাইল == শূন্য ) {
printf ( 'ত্রুটি: ফাইল খুলতে পারেনি \n ' ) ;
ফিরে 1 ;
}
যখন ( fgets ( বাফার 100 , ফাইল ) ) {
printf ( 'ফাইল থেকে পড়া স্ট্রিং: %s' , বাফার ) ;
}
fclose ( ফাইল ) ;
ফিরে 0 ;
}

এই উদাহরণ ব্যবহার করে fopen() নামের একটি টেক্সট ফাইল খুলতে C_File.txt প্রথমে আকারের একটি অক্ষর অ্যারে বাফার ঘোষণা করার পরে রিড মোডে 100 . একটি if স্টেটমেন্ট ব্যবহার করে, আমরা নির্ধারণ করি যে ফাইলটি সফলভাবে খোলা হয়েছে কিনা। এর পরে, আমরা একটি সময় লুপ নিয়োগ এবং fgets() একটি ফাইল পয়েন্টার ব্যবহার করে ফাইল থেকে পাঠ্যের লাইন পড়তে। ব্যবহার printf() লুপের মধ্যে, আমরা পাঠ্যের প্রতিটি লাইন মুদ্রণ করি। এই প্রোগ্রামটি চালানো আউটপুট প্রদান করবে:

আউটপুট

পদ্ধতি 3: fscanf() ফাংশন

একটি স্ট্যান্ডার্ড লাইব্রেরি পদ্ধতি বলা হয় fscanf() পরামিতিগুলির একটি অ্যারে গ্রহণ করে এবং সেগুলিকে আপনার অ্যাপ্লিকেশন ব্যবহার করতে পারে এমন মানগুলিতে রূপান্তরিত করে। যখন ফাইল থেকে পড়া , এটি এর মধ্যে দেখার প্রত্যাশা করে এমন কিছুর জায়গায় ফর্ম্যাট স্ট্রিংটি ফিরিয়ে দেবে। আপনার সফ্টওয়্যারটিকে তার নিজস্ব সিনট্যাক্সের অংশ হিসাবে ফর্ম্যাট স্ট্রিংকে ব্যাখ্যা করা থেকে আটকাতে, এটি অবশ্যই উদ্ধৃতিতে ঘিরে রাখতে হবে ('')।

# অন্তর্ভুক্ত করুন
int প্রধান ( ) {
ফাইল * ফাইল ;
int num1, num2, num3;
ফাইল = fopen ( 'C_File.txt' , 'আর' ) ;
যদি ( ফাইল == শূন্য ) {
printf ( 'ত্রুটি: ফাইল খুলতে পারেনি \n ' ) ;
ফিরে 1 ;
}
fscanf ( ফাইল , '%d %d %d' , এবং 1 নম্বর, এবং সংখ্যা2, এবং 3 নং ) ;
printf ( 'ফাইল থেকে পড়া সংখ্যাগুলি হল: %d, %d, %d৷ \n ' , num1, num2, num3 ) ;
fclose ( ফাইল ) ;
ফিরে 0 ;
}

এই উদাহরণটি ফাইলটি খোলে C_File.txt প্রথমে 3টি int ভেরিয়েবল, num1, num2 এবং num3 ঘোষণা করে রিড মোডে। একটি if স্টেটমেন্ট ব্যবহার করে, আমরা নির্ধারণ করি যে ফাইলটি সফলভাবে খোলা হয়েছে কিনা। নিম্নলিখিত ধাপটি ব্যবহার করে ফাইল থেকে তিনটি সংখ্যা পড়তে হয় fscanf() এবং %d বিন্যাস স্পেসিফায়ার। ভেরিয়েবল num1, num2, এবং num3 যেখানে মান রাখা হয়। অবশেষে, আমরা ব্যবহার করি printf() এই ভেরিয়েবলের মান আউটপুট করতে এবং fclose() ফাইল বন্ধ করতে। এই প্রোগ্রামটি চালানোর ফলে নীচে দেখানো ফলাফল দেখাবে:

আউটপুট

পদ্ধতি 4: fgetc() ফাংশন

একটি ফাইল হতে পারে পড়া অক্ষর দ্বারা অক্ষর ব্যবহার করে fgetc() ফাংশন এই ফাংশনটি যে অক্ষরটি পড়ে তার জন্য ASCII কোডটি এই ফাংশন দ্বারা ফেরত দেওয়া হয়। ফাইল পয়েন্টারের নির্দিষ্ট অবস্থান থেকে অক্ষর ফেরত দেওয়া হয়। ফাইল পয়েন্টার অনুসারে অক্ষরটি পড়ার পরে নিম্নলিখিত অক্ষরটি পড়া হয়। পয়েন্টারটি ফাইলের শেষে থাকলে বা কোনো সমস্যা হলে এই পদ্ধতিটি একটি EOF ফাইল ফেরত দেয়।

# অন্তর্ভুক্ত করুন
int প্রধান ( ) {
ফাইল * ফাইল ;
char c;
ফাইল = fopen ( 'C_File.txt' , 'আর' ) ;
যদি ( ফাইল == শূন্য ) {
printf ( 'ত্রুটি: ফাইল খুলতে পারেনি \n ' ) ;
ফিরে 1 ;
}
যখন ( ( c = fgetc ( ফাইল ) ) ! = EOF ) {
printf ( '% গ' , গ ) ;
}
fclose ( ফাইল ) ;
ফিরে 0 ;
}

এই উদাহরণে, আমরা ব্যবহার করি fopen() টেক্সট ফাইল খুলতে কমান্ড C_File.txt রিড মোডে। একটি if স্টেটমেন্ট ব্যবহার করে, আমরা নির্ধারণ করি যে ফাইলটি সফলভাবে খোলা হয়েছে কিনা। এর পরে, আমরা একটি সময় লুপ নিয়োগ এবং fgetc() ফাইল থেকে অক্ষর পড়তে. ফাইল থেকে প্রাপ্ত অক্ষর ভেরিয়েবলের সাথে বরাদ্দ করা হয় ব্যবহার করে মুদ্রিত হওয়ার আগে লুপের ভিতরে printf ()। লুপ পর্যন্ত চলতে থাকে ইওএফ (ফাইলের শেষ) ধ্রুবক ফাইলের শেষ সনাক্ত করে। এই প্রোগ্রামটি চালানো হলে নিম্নলিখিত ফলাফল পাবেন C_File.txt শব্দ ধারণ করে 'লিনাক্সিন্ট'।

আউটপুট

উপসংহার

উপরে বর্ণিত ধাপগুলি ব্যবহার করে, সি ব্যবহার করা যেতে পারে একটি টেক্সট ফাইল পড়ুন এবং সমস্ত স্ট্রিং প্রিন্ট করুন এটা ধারণ করে এটি ব্যবহার করে শুরু হয় fopen() ফাইলটি খুলতে সিস্টেম কল করুন, তারপরে ব্যবহার করুন fscanf(), fread(), fgets(), এর fgetc() ডেটা পড়তে। পরে, ফাইলটি ব্যবহার করে বন্ধ করা হয় fclose() এবং স্ট্রিং প্রিন্ট করতে a for loop ব্যবহার করা হয়। এই কৌশলগুলিকে কাজে লাগানোর মাধ্যমে, সি একটি দক্ষ পদ্ধতিতে ডেটা পড়তে এবং মুদ্রণ করতে সহায়তা করতে ব্যবহার করা যেতে পারে।