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

نام تاپیک: اضافه کردن کاراکتر به صف؟

  1. #1

    اضافه کردن کاراکتر به صف؟

    سلام
    می خوام از یه فایل اطلاعات بخونم و اطلاعات بسته هایی با تعداد کاراکتر های مشخص هست.
    بعدش اینا رو می خوام توی یه صف بذارم برای کارای بعدی. صف ازم ارایه رو قبول نمی کننه به عنوان ورودی. چه کار باید بکنم؟
    ورودی و خروجی خوندن از صف به هر حال همون بسته هایی با طول مشخص هست.

    std::queue<char> MyQueue;

    void ReadBinaryFromFile(std::string FileName)
    {
    #define BufferSize 1536

    std::ifstream file(FileName,std::ios::in|std::ios::binary);
    char buffer[BufferSize];
    if (file.is_open())
    {
    file.seekg(0, file.end);
    int length = file.tellg();
    file.seekg(0, file.beg);



    int x = 0;


    while (x < length)
    {
    file.read(buffer, BufferSize);
    MyQueue.push(buffer);

    file.seekg(x = x + BufferSize,std::ios::beg);
    x += 1;
    }

    file.close();
    }

  2. #2

    نقل قول: اضافه کردن کاراکتر به صف؟

    مشکل اینجاست
    std::queue<char> MyQueue;
    این خط کد به صف میگه که هر عنصرت باید به کاراکتر باشه در صورتی که شما نیاز داری هر عنصرت یه آرایه از کاراکترها باشه.
    اگه از std::string استفاده کنی بهتره
    std::queue<std::string> MyQueue
    یام کد خودت رو اینجوری تغییر بدی (تست نشده)

    std::queue<char[BufferSize]> Myqueue

  3. #3

    نقل قول: اضافه کردن کاراکتر به صف؟


    std::queue<char[Buffersize]> Myqueue;


    قبلا تست کرده بودم جواب نداد

  4. #4

    نقل قول: اضافه کردن کاراکتر به صف؟

    درسته. اینجا من اشتباه کردم. ما نمیتونیم یک متغیر مثل char a[50] رو به عنوان یک نوع داده حساب کنیم.
    اگ بخوای متن یا تکست رو از فایل بخونی یه انتخاب خوب اینه
    std::queue<std::string> MyQueue


    اگه بخوای باینری رو بخونی انتخاب بهتر اینه
    std::queue< std::vector <char> > MyQueue


    اما اگه همچنان میخوای از کاراکتر استفاده کنی باید اینجوری صفت رو تعریف کنی
    std::queue <char*> MyQueue


    مثال

    #include <iostream>
    #include <queue>

    std::queue <char*> msgs;

    int main()
    {
    char one[50]="salam";
    msgs.push(one);
    char two[50]="jahan\n\n";
    msgs.push(two);

    msgs.push("in be khatere inke az noe dadeye dorosti estefadeh mikone doroste");


    while(!msgs.empty())
    {
    std::cout << msgs.front();
    msgs.pop();
    }

    return 1;
    }

تاپیک های مشابه

  1. اضافه کردن کاراکتر به یکی از آیتم های ListBox
    نوشته شده توسط shahinparsa1328 در بخش C#‎‎
    پاسخ: 3
    آخرین پست: سه شنبه 02 آبان 1391, 22:09 عصر
  2. پاسخ: 2
    آخرین پست: جمعه 26 اسفند 1390, 22:42 عصر
  3. اضافه کردن آیتم به منو از طریق کد
    نوشته شده توسط شفیعی در بخش VB.NET
    پاسخ: 8
    آخرین پست: یک شنبه 27 بهمن 1387, 15:03 عصر
  4. اضافه کردن دستوراتی به کنترل AdRotator
    نوشته شده توسط NiLoOfAr در بخش ASP.NET Web Forms
    پاسخ: 7
    آخرین پست: پنج شنبه 27 آذر 1382, 21:58 عصر
  5. اضافه کردن دکمه به MsgBox
    نوشته شده توسط ehsan-ets در بخش برنامه نویسی در 6 VB
    پاسخ: 11
    آخرین پست: یک شنبه 19 مرداد 1382, 18:45 عصر

برچسب های این تاپیک

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

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