কম্পিউটার টিউটোরিয়াল

কেন লুপ কন্ডিশনে iostream::eof ব্যবহার করা ভুল?


শুধু EOF-এ পৌঁছানো নয়, এর মানে নয় পরবর্তী রিড সফল হবেই।

ধরুন আপনার একটি ফাইল আছে যা আপনি C++-এ ফাইল স্ট্রিম ব্যবহার করে পড়ছেন। ফাইল পড়ার জন্য লুপ লিখতে समय যদি আপনি stream.eof() চেক করেন, তাহলে আপনি আসলে চেক করছেন ফাইলটি ইতিমধ্যে EOF-এ পৌঁছেছে কিনা।

তবে আপনি নিচের মতো কোড লিখবেন:

উদাহরণ (ভুল পদ্ধতি)

#include <iostream>
#include <fstream>
using namespace std;
int main() {
    ifstream myFile("myfile.txt");
    string x;
    while(!myFile.eof()) {
        myFile >> x;
        // আবার চেক করতে হয় x ভ্যালিড কিনা বা EOF
        if(x) {
            // x দিয়ে কিছু কাজ করুন
        }
    }
}

উদাহরণ (সঠিক পদ্ধতি)

যখন আপনি স্ট্রিমকে সরাসরি লুপে ব্যবহার করেন, আপনি কন্ডিশন দুবার চেক করছেন না:

#include <iostream>
#include <fstream>
using namespace std;
int main() {
    ifstream myFile("myfile.txt");
    string x;
    while(myFile >> x) {
        // x দিয়ে কিছু কাজ করুন
        // কোনো অতিরিক্ত চেক দরকার নেই!
    }
}

  1. Excel-এ OR ফাংশন ব্যবহার করে শর্ত সত্য কিনা তা নির্ধারণ করা

  2. Python3 - কেন লুপ কাজ করছে না?

  3. কেন Opera-এর বিল্ট-ইন VPN এড়ানো উচিত: সুরক্ষা ঝুঁকি ও গোপনียতা চিন্তা

  4. Windows Event Viewer মাস্টার করুন: ব্যবহার কীভাবে এবং কেন এটি গুরুত্বপূর্ণ