User Input Strings
در C++ برای دریافت ورودی متنی (رشتهای) از کاربر میتوان از cin
یا getline
استفاده کرد. هر کدام ویژگیها و نکات خاص خود را دارند.
🟠 C++ User Input Strings
🔹 1. گرفتن یک کلمه با cin
cin
به طور پیشفرض تا اولین فاصله (space, tab, newline) میخواند.
-
ورودی:
Ali Reza
-
خروجی:
Hello Ali
بخش بعد از فاصله (Reza) خوانده نمیشود.
🔹 2. گرفتن یک جملهٔ کامل با getline
برای دریافت متن همراه با فاصلهها از ()getline
استفاده کنید:
-
حالا ورودی
Ali Reza
به طور کامل ذخیره میشود.
🔹 3. ترکیب cin
و getline
اگر قبل از getline
از cin
استفاده کرده باشید، کاراکتر \n باقیمانده در بافر باعث میشود getline
بلافاصله یک رشتهٔ خالی بخواند.
برای رفع این مشکل از ()cin.ignore
استفاده کنید:
🔹 4. نکات تکمیلی
-
نوع ورودی: همیشه از
std::string
استفاده کنید تا مدیریت حافظه و طول رشته ساده باشد. -
بررسی طول: میتوانید با
()fullname.length
طول رشته را پس از ورودی بسنجید. -
برای ورودی چند خطی (مثلاً پاراگراف) میتوانید در یک حلقه چند بار
getline
صدا بزنید.
✅ خلاصه
روش | ویژگی |
---|---|
cin >> var | فقط تا اولین فاصله میخواند |
getline(cin,x) | کل خط را (با فاصلهها) میخواند |
()cin.ignore | پاک کردن \n قبل از استفاده از getline پس از cin |
با این روشها میتوانید ورودی متنی از کاربر دریافت کنید؛ از getline
هر زمان که نیاز به خواندن رشتههای چندکلمهای دارید استفاده کنید.