মডিউল ১০-৪: স্ট্রিং ইনপুট স্পেস সহ
scanf("%s") দিয়ে ইনপুট নেওয়ার একটি প্রবলেম হচ্ছে, scanf ইনপুটে স্পেস পাওয়ার সাথে সাথে থেমে যায়। অর্থাৎ স্পেস সহ স্ট্রিং ইনপুট নেওয়া যায় না scanf দিয়ে।
কোডটি রান করে আমরা যদি Hello World ইনপুট দেই। তাহলে দেখব শুধু Hello প্রিন্ট হচ্ছে। স্পেস এর পরের অংশটুকু ইনপুট নেয় নি।
এটা scanf দিয়ে করা পসিবল না। scanf স্পেস পেলেই ইনপুট নেওয়া অফ করে দেয়। তাই এটার জন্য আমরা ২টি ফাংশন ব্যাবহার করতে পারি। gets এবং fgets।
gets কিভাবে ব্যাবহার করতে হয় আমরা দেখে নেইঃ
এবার আমরা দেখব fgets কিভাবে ব্যাবহার করতে হয়ঃ
এই কোডটি রান করে আমরা যত বড় ইনপুটই দেই না কেন fgets শুধুমাত্র ১৯টি ক্যারেক্টার ইনপুট নিবে। কারন আমরা fgets এর মধ্যে ইনপুট সাইজ ২০ বলে দিয়েছি। তাই সে ১৯টি ইনপুট নিবে এবং লাস্টেরটায় নাল বসাবে।
Last updated