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

[ + افزودن آگهی متنی جدید ]




صفحه 1 از 2 12 آخرآخر
نمايش نتايج 1 به 10 از 15

نام تاپيک: کار با فایل ها در C++

  1. #1
    اگه نباشه جاش خالی می مونه Ho$∑∫N's Avatar
    تاريخ عضويت
    Oct 2007
    محل سكونت
    یه جهنم دره ای روی کره ی زمین
    پست ها
    235

    پيش فرض کار با فایل ها در C++

    دوستان من می خوام در c++ با فایل ها کار کنم. می خوام برنامه ای بنویسم که بتونه داده هایی رو به صورت یک فایل متنی دریافت کنه و یا داده هایی رو به صورت فایل متنی ذخیره بکنه. من فقط میدونم که باید از fstream استفاده کنم ولی با توابع این کتابخانه آشنایی ندارم اگه میشه لیست از توضیحات و طریقه ی استفاده این توابع ارائه کنید خیلی ممنون میشم.

  2. #2
    داره خودمونی میشه
    تاريخ عضويت
    Jul 2006
    پست ها
    38

    پيش فرض

    برای کار با فایلها باید اول یه اشاره گر به فایل تعریف کنی که به خونه های دیسک (مثلا هارد) دسترسی داشته باشی
    برای این کار بنویس
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    حالا fp یک اشاره گر به فایله. باید مقدار دهی شه
    برای این کار باید یک فایل رو باز کنی (چه برای خواندن چه برای نوشتن) مثلا اینجا فایل C:\Text.txt رو برای نوشتن/خواندن باز می کنیم:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    خوب الان فایل درست شده و آمادست که توش بنویسیم.
    برای نوشتن از توابع زیر:
    fputc,fprintf,fwrite
    استفاده کنید و برای خواندن اطلاعات از:
    fgetc,fscanf,fread
    برای دانستن الگوی فایلها از help خود سی پلاس استفاده کنید اگر کمکتون نکرد که در مورد تابع ها هم توضیح بدم.
    اما کلا fprintf خیلی شبیه fprint خودمونه با این تفاوت که آرگومان اولش باید یه اشاره گر به فایل (کلا استریم، میتونه به پورت LPT و ... هم اشاره کنه) باشه.
    مثلا:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    نکته مهم اینه که fopen ممکنه نتونه فایل رو باز کنه اونوقت fp که مقدار نامعلومی داره ممکنه به هار یا سایر سخت افزارات آسیب برسونه پس قبل از شروع کار چک کن که آیا fopen آدرس یک فایل رو برگردونده یا مقدار NULL (که در صورت باز نکردن فایل برمیگردونه) این کار اینجوری انجام میشه:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    باز هم اگه سوالی بود در خدمتیم اما توی همه کتابهای C این مسئله هست. بهتره خودتون بخونین و با همه جنبه های کار با فایل آشنا بشید.

  3. 3 کاربر از sin66x بخاطر این مطلب مفید تشکر کرده اند


  4. #3
    اگه نباشه جاش خالی می مونه Ho$∑∫N's Avatar
    تاريخ عضويت
    Oct 2007
    محل سكونت
    یه جهنم دره ای روی کره ی زمین
    پست ها
    235

    پيش فرض

    من کتاب دیتل رو می خونم چاپ ناقوس ولی این آموزش توش نبود. اما در هر حال شما آموزش رو کامل به من دادید خیلی ممنون!

  5. #4
    پروفشنال hoax3r's Avatar
    تاريخ عضويت
    Oct 2007
    پست ها
    699

    پيش فرض

    در مورد C جناب sin66x کامل توضیح دادن

    و در مورد ++C این سایت رو میتونین ببینین

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    شاد باشید

  6. #5
    اگه نباشه جاش خالی می مونه Ho$∑∫N's Avatar
    تاريخ عضويت
    Oct 2007
    محل سكونت
    یه جهنم دره ای روی کره ی زمین
    پست ها
    235

    پيش فرض

    من جزوه ی جناب hoax3r رو مطالعه کردم ولی وقتی خواستم برنامه بنویسم کامپایلر ارور داد. من برای نام فایل از یک متغییر string استفاده کردم ولی وقتی خواستم با تابع open فایل رو بسازم و متغییرم رو به عنوان آرگومان به تابع ارسال کردم کامپایلر ارور داد بعد تصمیم گرفتم با استفاده از تعریف یک آرایه رشته ای این کار رو انجام بدم و به جای تابع getline از cin استفاده کنم که اینکار جواب داد. بعد کدی نوشتم که از کاربر درخواست کنه متنی رو به عنوان محتوای فایل دریافت کنه برای همین از یک متغییر string استفاده کردم و بعد از اون تابع getline رو به منظور ورود اطلاعات به متغییرم تعریف کردم و در آخر دستورات ایجاد فایل رو نوشتم و بعد getch() و سپس مقدار بازگشتی main و تمام. اما وقتی که برای وارد کردن نام فایل از آرایه استفاده کردم زمانی که می خواستم محتوای فایلم رو وارد کنم با فشردن اولین کلید از برنامه خارج می شد وقتی تابع getch() رو پاک کردم برنامه بلافاصله بعد از وارد کردن نام فایل بسته می شد و فقط یک فایل با محتوای خالی و حجم 0 کیلوبایت ایجاد می شد. چگونه می تونم این مشکل رو حل کنم؟

    کدی که نوشتم :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

  7. #6
    پروفشنال hoax3r's Avatar
    تاريخ عضويت
    Oct 2007
    پست ها
    699

    پيش فرض

    من جزوه ی جناب hoax3r رو مطالعه کردم ولی وقتی خواستم برنامه بنویسم کامپایلر ارور داد. من برای نام فایل از یک متغییر string استفاده کردم ولی وقتی خواستم با تابع open فایل رو بسازم و متغییرم رو به عنوان آرگومان به تابع ارسال کردم کامپایلر ارور داد بعد تصمیم گرفتم با استفاده از تعریف یک آرایه رشته ای این کار رو انجام بدم و به جای تابع getline از cin استفاده کنم که اینکار جواب داد. بعد کدی نوشتم که از کاربر درخواست کنه متنی رو به عنوان محتوای فایل دریافت کنه برای همین از یک متغییر string استفاده کردم و بعد از اون تابع getline رو به منظور ورود اطلاعات به متغییرم تعریف کردم و در آخر دستورات ایجاد فایل رو نوشتم و بعد getch() و سپس مقدار بازگشتی main و تمام. اما وقتی که برای وارد کردن نام فایل از آرایه استفاده کردم زمانی که می خواستم محتوای فایلم رو وارد کنم با فشردن اولین کلید از برنامه خارج می شد وقتی تابع getch() رو پاک کردم برنامه بلافاصله بعد از وارد کردن نام فایل بسته می شد و فقط یک فایل با محتوای خالی و حجم 0 کیلوبایت ایجاد می شد. چگونه می تونم این مشکل رو حل کنم؟

    کدی که نوشتم :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    قبل استفاده از getline این دستور رو وارد کن مشکل حل میشه
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    شاد باشید

  8. #7
    اگه نباشه جاش خالی می مونه Ho$∑∫N's Avatar
    تاريخ عضويت
    Oct 2007
    محل سكونت
    یه جهنم دره ای روی کره ی زمین
    پست ها
    235

    پيش فرض

    حالا کاربرد این دستور چیه؟

  9. #8
    پروفشنال hoax3r's Avatar
    تاريخ عضويت
    Oct 2007
    پست ها
    699

    پيش فرض

    نمیدونم ، فقط میدونم تو این حالت کار آدمو راه میندازه

  10. #9
    داره خودمونی میشه
    تاريخ عضويت
    Jul 2006
    پست ها
    38

    پيش فرض

    سلام آره حق با شماست من برای C گفتم، چون توی توربو کد می نویسم زیاد قرو قاطی کد میزنم از هر دوشون استفاده می کنم )
    اما در مورد sync:
    این تابع گنجایش بافر درونی استریم رو با محل حافظش تنظیم میکنه. اینجا این تابع از صف استاندارد کاراکترها، کاراکتری رو که خونده نشده باشه پاک میکنه! اما نمی دونم چرا بدون این دستور نباید جواب بگیریم!

  11. این کاربر از sin66x بخاطر این مطلب مفید تشکر کرده است


  12. #10
    اگه نباشه جاش خالی می مونه Ho$∑∫N's Avatar
    تاريخ عضويت
    Oct 2007
    محل سكونت
    یه جهنم دره ای روی کره ی زمین
    پست ها
    235

    پيش فرض

    همین چیزاست که آدم به برنامه نویسی میل نشون میده چون خیلی پر پیچ خمه به نظر من :

    برنامه نویسی دنیایی پر از ترفند هاست !

صفحه 1 از 2 12 آخرآخر

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •