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

نام تاپیک: دلیل استفاده از توابع clear(), get(), getline

  1. #1

    دلیل استفاده از توابع clear(), get(), getline

    سلام
    میشه کاربرد cin.clear() رو توضیح بدید.
    با وجود cin.getline چرا گاهی اوقات در بعضی برنامه ها از cin.get استفاده میکنن؟

  2. #2

    نقل قول: دلیل استفاده از توابع clear(), get(), getline

    سلام دوست عزیز
    cin.get()::برای خواندن کاراکترها از ورودی علاوه بر شی cin میتوان از تابع get() که عضو شی cin است استفاده کرد این تابع به شکل زیر هست::
    x=cin.get();
    این تابع کاراکتری را خوانده و در متغیر x قرار میدهد

    من خودم تازه کارم اون دوتا تابع رو هم ندیدم
    موفق باشی

  3. #3

    نقل قول: دلیل استفاده از توابع clear(), get(), getline

    cin.get بیشتر برای گرفتن یه کاراکتر استفاده میشه و cin.getline بیشتر برای گرفتن آرایه کاراکتری استفاده
    میشه ، یه مثال :


    #include <iostream>
    #include <conio>
    int main(){
    char a[6];
    cout<<"Enter a string with max length = 5 :\n";
    cin.getline(a,6);
    cout<<a<<endl;
    getch();
    }
    ===========

    #include <iostream>
    #include <conio>
    int main(){
    char ch;
    cout<<"Enter a char :\n";
    ch = cin.get();
    cout<<ch<<endl;
    getch();
    }






  4. #4
    کاربر دائمی آواتار PC2st
    تاریخ عضویت
    آذر 1385
    محل زندگی
    کرمانشاه
    سن
    38
    پست
    1,491

    نقل قول: دلیل استفاده از توابع clear(), get(), getline

    من خودم تازه کارم اون دوتا تابع رو هم ندیدم
    در این مورد (مواجه شدن با توابع جدید) فرق زیادی بین تازه‌کار و باتجربه نیست. به یک مرجع رجوع کنید، مثلا:
    cppreference.com
    cplusplus.com
    و ...

    میشه کاربرد cin.clear() رو توضیح بدید.
    با وجود cin.getline چرا گاهی اوقات در بعضی برنامه ها از cin.get استفاده میکنن؟
    getline برای گرفتن یک خط کامل (شامل چندین کاراکتر تا انتهای خط)، اما get برای گرفتن تنها یک کاراکتر استفاده می‌شود. اگر منظور شما برای توقف برنامه است، مهم نیست که از کدامیک استفاده کنید.

    از تابع clear (بدون پارامتر) برای پاک کردن flagهای موقعیت خطا استفاده می‌شود. مثلا اگر فایل به انتها رسیده است، تابع clear باعث می‌شود که این موقعیت پاک شود (انگار که فایل به انتها نرسیده است البته باید مکان اشاره‌گر را نیز به ابتدای فایل ببرید با تابعی مثل seekp). یا مثلا اگر در حین خواندن فایل، با خطا مواجه شدید، برای سعی دوباره، ابتدا باید تابع clear را صدا بزنید و دوباره سعی کنید. تابع clear دارای یک آرگومان اختیاری نیز هست که flag موقعیت خطا را می‌توان به کمک آن تعیین کرد، بطور پیش‌فرض مقدار پارامتر ورودی آن goodbit است که باعث می‌شود flagهای موقعیت خطا را پاک کند.

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

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