আরাক যেমন বলেছে, সি ++ স্ট্রিম ইন্টারফেস সর্বদা বহনযোগ্যভাবে কাজ করবে।
এসটিডি :: আকার_টি এস = 1024; std :: cout << s; // বা স্ট্রিংস্ট্রিমের মতো অন্য কোনও স্ট্রিম!
আপনি যদি সি স্টিডিও চান তবে "পোর্টেবল" এর নির্দিষ্ট কিছু ক্ষেত্রে এর কোনও বহনযোগ্য উত্তর নেই। এবং এটি কুৎসিত হয় যেহেতু আপনি দেখেছেন, ভুল ফর্ম্যাট পতাকাগুলি বাছাই করা একটি সংকলক সতর্কতা পেতে পারে বা ভুল আউটপুট দিতে পারে।
C99 "%" পিআরডিএমএক্স "\ n" এর মতো inttyype.h ফর্ম্যাটগুলির সাহায্যে এই সমস্যাটি সমাধান করার চেষ্টা করেছিল। তবে ঠিক "% zu" এর মতোই সবাই সি 99 সমর্থন করে না (2013 এর আগে এমএসভিএসের মতো)। এটি মোকাবেলায় "এমসিন্টটাইপস" ফাইলগুলি প্রায় ভাসমান রয়েছে।
যদি আপনি কোনও অন্য ধরণের কাস্ট করেন তবে পতাকাগুলির উপর নির্ভর করে আপনি কাটা কাটা চিহ্ন বা চিহ্ন পরিবর্তনের জন্য একটি সংকলক সতর্কতা পেতে পারেন। আপনি যদি এই রাস্তাটিতে যান তবে আরও বড় আকারের নির্দিষ্ট আকারের আকার চয়ন করুন pick স্বাক্ষরবিহীন দীর্ঘ লম্বা এবং "% llu" বা স্বাক্ষরযুক্ত "% lu" এর মধ্যে একটির কাজ করা উচিত, তবে llu একটি 32 বিট বিশ্বে খুব বেশি বড় হিসাবে জিনিসগুলিকে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে নামিয়ে আনতে পারে। (সম্পাদনা করুন -% লু,% llu এবং আকার_টি সব একই আকারের হলেও% llu এর সাথে মিলছে না এমন জন্য আমার ম্যাক 64৪ বিটের মধ্যে একটি সতর্কতা জারি করেছে And আপনার + মেলে এমন একটি ফর্ম্যাট ব্যবহার করতে হবে)
এই বিষয়টির জন্য, আপনি স্থির আকারের প্রকারের সাথে যেমন int64_t যেতে পারেন। কিন্তু অপেক্ষা করো! এখন আমরা c99 / c ++ 11 এ ফিরে এসেছি এবং পুরানো এমএসভিএস আবার ব্যর্থ। এছাড়াও আপনারও কাস্ট থাকে (যেমন মানচিত্র.সাইজ () কোনও নির্দিষ্ট আকারের আকার নয়)!
আপনি তৃতীয় পক্ষের শিরোলেখ বা লাইব্রেরি যেমন বুস্ট ব্যবহার করতে পারেন। আপনি যদি ইতিমধ্যে একটি ব্যবহার না করে থাকেন তবে আপনি আপনার প্রকল্পটি সেভাবে স্ফীত করতে নাও চান। আপনি যদি এই সমস্যার জন্য কেবল একটি যুক্ত করতে ইচ্ছুক থাকেন তবে কেন সি ++ স্ট্রিম বা শর্তসাপেক্ষ সংকলন ব্যবহার করবেন না?
সুতরাং আপনি সি ++ স্ট্রিমস, শর্তসাপেক্ষ সংকলন, তৃতীয় পক্ষের ফ্রেমওয়ার্ক বা কোনও ধরণের পোর্টেবল যা আপনার জন্য কাজ করে।
unsigned long
আপনার লিবিসি বাস্তবায়ন সংশোধকটিকে সমর্থন না করলে কাস্টিং এ সেরা বিকল্পz
; সি 99 স্ট্যান্ডার্ডটি পূর্বেsize_t
ইন্টিজার রূপান্তর র্যাঙ্ক বেশি না রাখার পরামর্শ দেয়long
, সুতরাং আপনি যুক্তিযুক্ত নিরাপদে