C-এ fopen() মেথড নির্দিষ্ট ফাইল খোলার জন্য ব্যবহৃত হয়।
সমস্যা বোঝার জন্য একটি উদাহরণ নিই
সিনট্যাক্স
FILE *fopen(filename, mode)
fopen() ব্যবহার করে ফাইল খোলার জন্য বৈধ মোডগুলো হলো: 'r', 'w', 'a', 'r+', 'w+', 'a+'। বিস্তারিত জানতে C library function - fopen() দেখুন।
রাইট মোডে বিদ্যমান ফাইলের জন্য fopen()
যদি কারেন্ট ডিরেক্টরিতে ফাইলটি বিদ্যমান না থাকে, তবে রাইট মোডে একটি নতুন খালি ফাইল তৈরি হয়।
যদি ফাইলটি কারেন্ট ডিরেক্টরিতে বিদ্যমান থাকে এবং 'w' / 'w+' দিয়ে খোলা হয়, তবে লেখার আগে ফাইলটির কন্টেন্ট মুছে যাবে।
উদাহরণ
সমাধান বোঝার জন্য প্রোগ্রাম:
#include <stdio.h> #include <stdlib.h> int main(){ FILE *opFile = fopen("test.txt", "w"); if (opFile == NULL){ puts("Couldn't open file"); exit(0); } else{ fputs("includehelp", opFile); puts("Write operation successful"); fclose(opFile); } return 0; }
আউটপুট
Write operation successful
ফাইলের প্রাথমিক কন্টেন্ট − C programming language
অ্যাপেন্ড অপারেশনের পর কন্টেন্ট − include help
রাইট অপারেশন अपना কাজ করে কিন্তু রাইট অপারেশন করার আগে ফাইলে থাকা সকল কন্টেন্ট মুছে ফেলে। এটাকে মোকাবিলা করতে C প্রোগ্রামিং ল্যাঙ্গুয়েজে দুটি ভিন্ন পদ্ধতি আপডেট করা হয়েছে যেগুলো প্রোগ্রামার প্রোগ্রামের রিকোয়ারমেন্ট অনুযায়ী ব্যবহার করতে পারেন।
'a' (append) মোড − এই মোডে নতুন কন্টেন্ট ফাইলে লেখা কন্টেন্টের শেষে যুক্ত হয়।
'wx' মোড − যদি ফাইলটি ডিরেক্টরিতে ইতিমধ্যে বিদ্যমান থাকে তবে এটি NULL রিটার্ন করবে।
উদাহরণ
'a' মোড ব্যবহার করে বিদ্যমান ফাইলে রাইট অপারেশনের প্রোগ্রাম:
#include <stdio.h> #include <stdlib.h> int main(){ FILE *opFile = fopen("test.txt", "a"); if (opFile == NULL){ puts("Couldn't open file"); exit(0); } else{ fputs("includehelp", opFile); puts("Write operation successful"); fclose(opFile); } return 0; }
আউটপুট
Write operation successful
ফাইলের প্রাথমিক কন্টেন্ট − C programming language
অ্যাপেন্ড অপারেশনের পর কন্টেন্ট − C programming language includehelp
উদাহরণ
'wx' মোড ব্যবহার করে বিদ্যমান ফাইলে রাইট অপারেশনের প্রোগ্রাম:
#include <stdio.h> #include <stdlib.h> int main(){ FILE *opFile = fopen("test.txt", "wx"); if (opFile == NULL){ puts("Couldn't open file"); exit(0); } else{ fputs("includehelp", opFile); puts("Write operation successful"); fclose(opFile); } return 0; }
আউটপুট
Write operation successful