আমি সম্প্রতি এই সমস্যাটি তৈরি করতে একটি সমস্যা stringstream
করেছি যে আমি ভুলভাবে ধরে নিয়েছি যে std::setw()
প্রতিটি সন্নিবেশের জন্য স্ট্রিং স্ট্রিমকে প্রভাবিত করবে, যতক্ষণ না আমি এটিকে স্পষ্টভাবে পরিবর্তন করেছি। তবে সন্নিবেশের পরে এটি সর্বদা আনসেট থাকে।
// With timestruct with value of 'Oct 7 9:04 AM'
std::stringstream ss;
ss.fill('0'); ss.setf(ios::right, ios::adjustfield);
ss << setw(2) << timestruct.tm_mday;
ss << timestruct.tm_hour;
ss << timestruct.tm_min;
std::string filingTime = ss.str(); // BAD: '0794'
সুতরাং, আমার বেশ কয়েকটি প্রশ্ন রয়েছে:
- কেন
setw()
এইভাবে? - অন্য কোনও হেরফের কি এইভাবে?
std::ios_base::width()
এবং এর মধ্যে আচরণের মধ্যে কি পার্থক্য রয়েছেstd::setw()
?- অবশেষে এমন কোনও অনলাইন রেফারেন্স রয়েছে যা স্পষ্টভাবে এই আচরণটির নথিভুক্ত করে? আমার বিক্রেতার ডকুমেন্টেশন (এমএস ভিজ্যুয়াল স্টুডিও 2005) এটি পরিষ্কারভাবে দেখায় বলে মনে হয় না।