اطلاعیه

Collapse
No announcement yet.

پارسینگ عدد صحیح در آرایه کاراکتر

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    پارسینگ عدد صحیح در آرایه کاراکتر

    سلام به اهل فن
    میکرو stm32f و IDEKeil دارم.
    عاقا من میخوام یک متغیر از نوع صحیح رو مثلا :
    int a=2081 رو بشکونم عدد به عدد بریزم تو متغیر از نوع آرایه کاراکتر(رشته) مثلا char b[5] که محتواش اینطوری بشه:b[0]=2; b[1]=0 b[3]=8 b[4]=1
    اعداد داخل متغیر عدد صحیح نظم و ترتیب و توالی درستی ندارند ممکنه تصادفی هر عددی باشه، هدفم از این کار ارسال دیتا به پورت سریاله.
    معمولا خودم برا پارسینگ از دستوراتی مثل sscan scan یا واریز نقطه به نقطه با چاشنی دستورات atoi و اینا استفاده میکنم موردی هم باشه پرانتز نویسی برا تبدیل اما هیچکدوم تابحال جواب نداده.
    از دوستان دریا دل که نیکی میکنند و در دجله می اندازند تا ایزد دهدشان در بیابان باز تمنای هلپ در غالب کد زبان c رو برای میکروم دارم.
    جدیدترین ویرایش توسط m.aziz; ۱۲:۳۰ ۱۴۰۱/۰۹/۱۵.

    #2
    پاسخ : پارسینگ عدد صحیح در آرایه کاراکتر

    سلام و درود
    int a = 1324;
    uint8_t array[4];
    uint8_t i = 0;


    int main()
    {
    for(i=0; i<=4; i++){
    array[i] = a%10;
    a /= 10;
    }


    ولی بهتر و آسان تر هست که کل عدد را به رشته تبدیل کنی و سپس رشته رو بفرستی.
    جدیدترین ویرایش توسط REZZA_DEHGHAN98; ۱۱:۱۶ ۱۴۰۱/۰۹/۱۵.

    دیدگاه


      #3
      پاسخ : پارسینگ عدد صحیح در آرایه کاراکتر

      سلام مهندس رضا دهقان از مشارکت شما پیشاپیش سپاسگذارم.
      ببخشید من اشتباها مثالی زده بودم که ترتیبی بود 1234 الان مثال رو ویرایش کردم تا بهتر بتونم منظورمو برسونم، اعدا د داخل متغیر صحیح نظم و ترتیب و توالی درستی ندارند و ممکنه نامرتب باشند.
      در اینصورت باید چه کرد ...
      ظاهرا کدی که شما مرهمت فرمودید ترتیبی کار میکنه یعنی از یک تا 4 .
      اگه بشه مستقیم محتوای عدد صحیح رو به رشته تبدیل کرد خیلی خوبه و به جواب نزدیک میشم.... چطور میشه محتوای داخل متغیر صحیح رو مستقیما به رشته تبدیل کرد؟
      من فعلا برم دنبالش ...
      سپاس
      جدیدترین ویرایش توسط m.aziz; ۱۲:۳۱ ۱۴۰۱/۰۹/۱۵.

      دیدگاه


        #4
        پاسخ : پارسینگ عدد صحیح در آرایه کاراکتر

        سلام اگردقت کنید در جواب قبل عدد من پشت سر هم نیست.
        در ضمن برای تبدیل عدد به رشته میتوانید از تابع snprintf از کتابخانه <stdio.h> استفاده کنید .

        دیدگاه


          #5
          پاسخ : پارسینگ عدد صحیح در آرایه کاراکتر

          سلام بر اوس رضا با عینک دودیش
          بله حق با شماست دو خط پایین کدت رو دقت نکردم .
          دیروز که شما رفتی منم رفتم دنبال تبدیل به رشته تونستم با کتابخونه های String.h و Stdio.h با دستور sprintf مشکلو به راحتی حل کنم.
          سپاس از لطف شما و مشارکت در این پست

          دیدگاه

          لطفا صبر کنید...
          X