نمایش نتایج 1 تا 7 از 7

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

  1. #1
    کاربر دائمی
    تاریخ عضویت
    آبان 1386
    محل زندگی
    کرج
    پست
    238

    اشکال برنامه در درست نخواندن فایل با حجم بیشتر

    سلام.اول که عنوان تاپیک رو اینطوری زدم چون بعدا باز هم سوال دارم و بهتره همه رو همینجا بپرسم.

    من کد زیر رو برای خواندن فایل استفاده می کنم که برای فایلهای کوچیک جواب میده اما حجم فایل اگر مثلا ۳ مگابایت بشه جواب درست نمیده.چرا؟
    // reading a complete binary file
    #include <iostream.h>
    #include <fstream.h>

    ifstream::pos_type size;
    char * memblock;

    int main () {
    ifstream file("/home/ali-zi-zeperto/Desktop/1.cpp", ios::in|ios::binary|ios::ate);
    if (file.is_open()){
    size = file.tellg();
    memblock = new char[size];
    file.seekg (0, ios::beg);
    file.read (memblock, size);
    file.close();

    cout << "the complete file content is in memory"<<endl;
    cout<<memblock;
    delete[] memblock;
    }
    else cout << "Unable to open file";
    return 0;
    }

  2. #2

    نقل قول: اشکال برنامه در درست نخواندن فایل با حجم بیشتر

    آخه اونقدر فضا در اختيار نيست تا تو كل فايل رو ببري تو آرايه.
    بجاي اينكه يكدفعه اين كار رو بكني فايل رو چند قسمت كن ، هر بار يه قسمت رو بريز تو آرايه.

  3. #3
    کاربر دائمی
    تاریخ عضویت
    آبان 1386
    محل زندگی
    کرج
    پست
    238

    نقل قول: اشکال برنامه در درست نخواندن فایل با حجم بیشتر

    نقل قول نوشته شده توسط mortezamsp مشاهده تاپیک
    آخه اونقدر فضا در اختيار نيست تا تو كل فايل رو ببري تو آرايه.
    بجاي اينكه يكدفعه اين كار رو بكني فايل رو چند قسمت كن ، هر بار يه قسمت رو بريز تو آرايه.
    این جمله ؛آخه اونقدر فضا در اختیار نیست؛ رو درست متوجه نشدم.چرا نیست؟ اگر منظور طول آرایه است که به اندازه طول فایل بهش اختصاص داده شده.اگر هم مقدار رم سیستمم باشه که بازم بیشتر از اینها جا داره.
    اینکه فایل رو چند قسمت کنم البته یکی از راههاست که میشه انجام داد اما من می خوام بدونم که جرا خطا می گیره؟ ایراد کار از کجاست؟

  4. #4
    کاربر دائمی
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    ایران سرای من است
    پست
    2,655

    نقل قول: اشکال برنامه در درست نخواندن فایل با حجم بیشتر

    تعریق را از نوع دور در نظر بگیر شاید حل شد.
     
    char * memblock;
    //بصورت
    char far * memblock;

  5. #5

    نقل قول: اشکال برنامه در درست نخواندن فایل با حجم بیشتر

    فکر میکنم! که حافظه ای که به برنامه اختصاص داده میود آنقدر زیاد نباشد.

    البته من راه آقای tdkhakpoor را هنوز آزمایش نکردم.ایشان خیلی بهتر میدانند.

  6. #6

    نقل قول: اشکال برنامه در درست نخواندن فایل با حجم بیشتر

    نقل قول نوشته شده توسط tdkhakpur مشاهده تاپیک
    تعریق را از نوع دور در نظر بگیر شاید حل شد.
     
    char * memblock;
    //بصورت
    char far * memblock;
    با استفاده از far در ویندوز راه به جایی نمیبرید .
    در ضمن کلمه کلیدی far به گمانم دیگه منسوخ شده باشه

    موفق باشید

  7. #7

    نقل قول: اشکال برنامه در درست نخواندن فایل با حجم بیشتر

    چرا نمی رسن ؟ معادلش هست LPSTR

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •