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

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

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

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

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

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