تبلیغات :
خرید لپ تاپ استوک
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 6 از 6

نام تاپيک: مشکل برای خواندن int از داخل فایل

  1. #1
    داره خودمونی میشه
    تاريخ عضويت
    Jul 2006
    پست ها
    38

    پيش فرض مشکل برای خواندن int از داخل فایل

    سلام
    برای کار با فایلها در ++C مشکلی دارم که نمی فهمم از کجاست. وقتی از توی یک فایل می خوام بخونم اگر به صورت کاراکتری بخونم جواب درسته اما اگر int بخونم اعداد مورد نظر نمیاد. مثلا یک فایل که با MZ شروع شده رو اگر با int بخونم(دو بایتی) دو بایت اول (MZ را) صفر می خواند! اما اگر با [char[2 بخوانم درسته!

  2. #2
    آخر فروم باز hamidreza_buddy's Avatar
    تاريخ عضويت
    Sep 2004
    محل سكونت
    شریف
    پست ها
    1,167

    پيش فرض

    فکر می کنم چون فقط رشته اسکی می گیرد و چون MZ رقم نیست به مشکل مواجه می شود.
    مثل اینکه scanf کنید و بعدش به جای عدد MZ بزنید!
    از توابع read و write که برای خواندن و نوشتن باینری هستند استفاده کنید.

  3. این کاربر از hamidreza_buddy بخاطر این مطلب مفید تشکر کرده است


  4. #3
    داره خودمونی میشه aryan1423's Avatar
    تاريخ عضويت
    Sep 2008
    پست ها
    133

    پيش فرض

    لطفا درباره ی خوندن و نوشتن باینری توضیح می دید؟(اگه میشه کدشو بزارید)

  5. #4
    آخر فروم باز hamidreza_buddy's Avatar
    تاريخ عضويت
    Sep 2004
    محل سكونت
    شریف
    پست ها
    1,167

    پيش فرض

    خوندن با read(buffer,size)

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    نوشتن با write(buffer,size)
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

  6. این کاربر از hamidreza_buddy بخاطر این مطلب مفید تشکر کرده است


  7. #5
    داره خودمونی میشه aryan1423's Avatar
    تاريخ عضويت
    Sep 2008
    پست ها
    133

    پيش فرض

    برای اطلاعات ارزشمندتان ممنون!
    من مدت ها دنبال چنین تابعی بودم.
    راستی برای پیدا کردن سایز data.bin باید چه کرد؟
    Last edited by aryan1423; 23-11-2008 at 16:25.

  8. #6
    آخر فروم باز hamidreza_buddy's Avatar
    تاريخ عضويت
    Sep 2004
    محل سكونت
    شریف
    پست ها
    1,167

    پيش فرض

    قاعدتاً باید از API سیستم عامل استفاده کرد. چون سیستم عامل که وظیفه مدیریت فایل رو داره.
    مثلاً توی ویندوز بوسیله این تابع API میشه این کارو انجام داد:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    ولی یه راه دیگه وجود داره. اینجوری که فایل رو در مود باینری باز کرده و اشاره گر فایل رو بوسیله تابع fseek به انتهای فایل می بریم. بعد بوسیله تابع ftell مکان آن را به دست می آوریم. این مقدار تعداد بایت های فایل ماست!

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    توضیحی درباره تابع fseek:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    کد زیر هم همون بالاییه فقط به صورت یه تابع آماده نوشته شده:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    Last edited by hamidreza_buddy; 24-11-2008 at 02:15.

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •