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 هر زمان که نیاز به خواندن رشتههای چندکلمهای دارید استفاده کنید.
HTML
Tailwind Css
Bootstrap 5
Java script
++C
Python
Three.js
Gsap
Sass
SQL
React