اولین بار است که به این وب‌سایت می‌آیید. راهنما را مطالعه کنید!
x
موسسه خیریه محک

شهر ریاضی بازی-ریاضی

ذخیره‌ی یک بایت در فایل

0 امتیاز
82 نمایش

یه رشته دارم که داخلش مقدار عددی هست که حداکثر به اندازه‌ی یک بایت هست. می‌خوام این یک بایت رو در فایل ذخیره کنم. اگه به همین صورت رشته‌ای ذخیره کنم رشته است که ذخیره می‌شه نه عدد. یعنی فرض کنیم رشته به صورت زیر باشه

string s = "129";

در این صورت ذخیره‌سازی در فایل به صورت رشته، سه کاراکتر '1' و '2' و '9' رو در فایل ذخیره می‌کنه.
در صورتی که ابتدا رشته رو به عدد صحیح تبدیل کنم (مثلاً با stoi) و بعد در فایل ذخیره کنم ۴ بایت در فایل ذخیره می‌شه که ۳ بایت آن صفر هست.
چطور فقط یک بایت حاوی عدد ۱۲۹ رو ذخیره کنم؟

هیچ پژوهش انسانی نمی‌تواند ادعای علمی بودن داشته باشد، مگر این‌که از برهان ریاضی برخوردار باشد (لئوناردو داوینچی)
پرسیده شده دوشنبه ۲۱ مرداد ۱۳۹۲ در C++ توسط prodo  

1 پاسخ

0 امتیاز

ابتدا با استفاده از روشی مثل stoi رشته رو به عدد صحیح تبدیل می‌کنیم

string s = "129";
int x = stoi(s);

حالا با استفاده از تبدیل معمولی عدد صحیح رو به کاراکتر تبدیل می‌کنیم

unsigned char c = unsigned char(x);

حالا کاراکتر رو در فایل ذخیره می‌کنیم. بنابراین فقط یه بایت ذخیره می‌شه.

هیچ پژوهش انسانی نمی‌تواند ادعای علمی بودن داشته باشد، مگر این‌که از برهان ریاضی برخوردار باشد (لئوناردو داوینچی)
پاسخ داده شده دوشنبه ۲۱ مرداد ۱۳۹۲ توسط prodo