اطلاعیه

Collapse
No announcement yet.

خواندن بخش مشخصی از فایل txt

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

    خواندن بخش مشخصی از فایل txt

    سلام
    من دارم رو پروژه ای کار میکنم که باید اعدادی که توی کامپیوتر و داخل فایل نوت پد هست رو توسط پورت سریال به اردوینو ارسال کنم یه سری مشکلات دارم لطفا کمک کنید

    اول اینکه حجم داده ها زیاده (۵۰۰ تا سطر که هرکدوم از سطر ها شامل ۵۰۰ عدد صفر یا یک ) تقریبا شبیه یه bitmap
    حالا باید برنامه بتونه به نقاط مختلف فایل بره مثلا سطر ۱ رو داخل یه رشته و بعد از استفاده شدن اطلاعات داخل رشته اینبار بره سراغ سطر ۲ و اطلاعات اونو داخل همون رشته ذخیره کنه و تا اخر ۵۰۰ سطر این کارو تکرار کنه
    حالا اگه بشه کاری کرد که بتونه n امین عدد از m امین سطر رو هم بخونه که دیگه عالی میشه یعنی مثلا بره و ۸ امین عدد از سطر ۲ رو داخل یه متغیر ذخیره کنه

    من با زبان سی کار میکنم ولی لطفا به هر زبانی امکان اجرای چنین کاری وجود داره بنویسید وراهنمایی کنید حاضرم کل کدمو دوباره با زبان دیگه بنویسم

    ممنون

    #2
    پاسخ : خواندن بخش مشخصی از فایل txt

    اینطور که گفتید ، طول سطر ثابت و مشخص است
    در این صورت کار راحت است
    میتوانید با تابعی مثل fseek به هر سطری که میخواید برید
    بعد از اون میتونید همه یک سطر رو یکجا بخونید و یا اینکه یک حرف یک حرف اون سطر رو بخونید تا یه محل مورد نظر در اون سطر برسید

    دیدگاه


      #3
      پاسخ : خواندن بخش مشخصی از فایل txt

      سلام
      اقا من اینو نوشتم و گفتم در اشتراک بزارم شاید به درد کسی خورد
      چون فک کنم واسه پردازش تصویرو نمایشگرای گرافیکی هم بشه ازش استفاده کرد خود منم برا دستگاه حکاکی لیزری که دارم میسازم ازش استفاده میکنم
      خدمتتون ارض کنم که بنده چون اعدادم فقط ۰ و ۱ بود از توابع حالت باینری کار با فایل استفاده کردم و چون تابعی پیدا نکردم که بتونه به خط های متفاوت توی فایل txt یا bin بره با استفاده از نوت پد پلاس پلاس تمام خط هارو جوین کردم اینجوری داده ها فقط تو یه خط قرار میگیره و بین هر دو خط یه فاصله ایجاد میشه که اونارو از هم متمایز کنه
      در اخرم با استفاده از تابع fread میتونید هر بار به اندازه طول مد نظرتون از اطلاعات فایل bin رو بخونید و تو ارایه یا هرجای دیگه ذخیره یا استفاده کنید
      البته تو حالت باینری فقط مجاز به استفاده از ۰ و ۱ هستید و اگه بخواید بیشتر از این باشه باید با fseek و fscanf کار کنید که تو داده های با حجم بالا مصیبت زیاد داره
      جدیدترین ویرایش توسط Taher Moradi; ۰۳:۱۷ ۱۳۹۸/۱۲/۰۳.

      دیدگاه

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