ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





کاربران برچسب زده شده

نمایش نتایج: از 1 به 3 از 3
  1. #1
    2008/08/13
    اهواز
    674
    163

    اشکال در دستور atoi

    لطفا" در مورد دستور atoi اگر توضیح کاملی دارید کمک کنید . میدونم که این دستور متغیر char رو به int تبدیل میکنه
    میخواستم بدونم آیا در این تبدیل ممکنه که علامت ها یا اعدادی ایجاد بشه که مخفی باشند و در خروجی "دیده " نشن؟
    در برنامه ای که دارم تبدیل انجام میشه ولی نتیجه ای که مد نظر هست درست در نمیاد . لطفا" به این کد ها دقت کنید :


    کد:
     code=atoi(number2); 
     if(code==0356)
     }
    دستورات 1
    {
    else
    }
    دستورات 2
    {
    در عمل کد های دستورات 2 روی lcd نمایش داده میشه در حالی که مقدار number2 =0356 هست. سوالم اینه که آیا ممکنه در زمان تبدیل عددی غیر از 0356 ایجاد بشه که در نهایت باعث بشه شرط if درست نباشه؟

    number2 از نوع char هست و code از نوع int
  2. #2
    2014/06/06
    بي خيال بابا
    590
    12

    پاسخ : اشکال در دستور atoi

    سوالم اينه که آيا ممکنه در زمان تبديل عددي غير از 0356 ايجاد بشه که در نهايت باعث بشه شرط if درست نباشه؟
    عددي غير از 0356 ؟؟ مگه همچين عددي هم داريم که نميدونستيم ؟؟

    خودتون داريد ميگيد ascii رو به int تبديل ميکنه و تبديل 0356(اسکي) به اينت ميشه 356 نه 0356 عدد که با صفر شروع نميشه اميدوارم مشکل حل بشه

    ميتونيد بر عکس عمل کنيد يعني کد رو دست نزنيد و با itoa number رو تبديل به اسکي کنيد
    من دوست ندارم خودم را درگير مسئله بهشت يا جهنم بکنم ، چون در هر دو قسمت دوستان خوبي دارم !
  3. #3
    2008/08/13
    اهواز
    674
    163

    پاسخ : اشکال در دستور atoi

    عدد 0356 ، 4 شماره آخر یک شماره موبایل هست که توسط ماژول gsm ارسال میشه و فکر میکنم اسکی نباشه بلکه رشته هست . این تبدیل به int لازم هست چون برای تشخیص شماره تلفن باید روی متغیر int بررسی انجام بشه . کد کامل تر رو اینجا قرار میدم . ممنون از پاسختون

    کد:
    void cmgr(void)
    {
     unsigned char x;
     int code;
     for(x=0;x<3;x++)wait_to_get('"');             
     for(x=0;x<13;x++)
      {
       number1[x]=getchar();       
      } 
     for(x=10;x<14;x++)number2[x-10]=number1[x-1];                                 
     code=atoi(number2);             
     if(code==0356)
     {
     wait_to_get('#');
     for(x=0;x<4;x++)number3[x]=getchar();           
     wait_to_get('K');
     code=atoi(number3);
     if(code > 9999)code/=10;
     if(sms_location >9)
     {
     putsf(at_cmgda);
     wait_to_get('K');
     }
     lcd_clear();
     lcd_gotoxy(6,0);
     lcd_puts(number2);
     lcd_gotoxy(6,1);
     lcd_puts(number3); 
     check_request(code);
     }
     else
     {
     lcd_gotoxy(0,1);
     lcd_putsf("ERROR");
     }
    }
نمایش نتایج: از 1 به 3 از 3

موضوعات مشابه

  1. اشکال در دستور case when
    توسط mohammad55 در انجمن PLD , SPLD , GAL , CPLD , FPGA
    پاسخ: 1
    آخرين نوشته: 2015/05/23, 11:40
  2. اشکال
    توسط sima.b در انجمن آموزش نرم افزارهاي آناليز و شبيه ساز
    پاسخ: 2
    آخرين نوشته: 2014/11/06, 10:55
  3. تعداد دستور اسمبلی یک دستور زبان C
    توسط brm3 در انجمن میکروکنترلرهای AVR
    پاسخ: 2
    آخرين نوشته: 2011/02/09, 16:47
  4. تبدیل کاراکتر به عدد با تابع atoi
    توسط manalone در انجمن میکروکنترلرهای AVR
    پاسخ: 1
    آخرين نوشته: 2010/08/16, 22:37
  5. مشکل با تابع ()atoi
    توسط magician در انجمن C , C++ , C#
    پاسخ: 2
    آخرين نوشته: 2009/05/03, 21:47

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

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