++C

++C — ورودی رشته از کاربر (User Input Strings)

آخرین بروزرسانی: 1404/07/28

ورودی رشته از کاربر (User Input Strings)

اینجا درباره ورودی رشته صحبت می کنیم. رشته (String) یعنی متن داخل کوتیشن. برای گرفتن متن از کاربر، از cin و عملگر استخراج >> استفاده می کنیم. اما مراقب فاصله ها باش؛ چون cin فقط یک کلمه می گیرد.

ورودی رشته با cin >>

با cin >> می توانی یک کلمه بگیری. سپس با cout نمایش بده.

string firstName;
cout << "Type your first name: ";
cin >> firstName;
cout << "Your name is: ";
cout << firstName;
// Type your first name: John
// Your name is: John

محدودیت فاصله ها در cin

cin در فاصله می ایستد. بنابراین فقط بخش اول ورودی ذخیره می شود.

string fullName;
cout << "Type your full name: ";
cin >> fullName;
cout << "Your name is: ";
cout << fullName;
// Type your full name: John Doe
// Your name is: John

نکته: فاصله، تب، و خط جدید برای cin پایان ورودی هستند.

ورودی رشته با getline()

تابع (Function) کاری آماده با نام مشخص است. getline() یک خط کامل می خواند. پارامتر اول cin است؛ پارامتر دوم متغیر رشته.

string fullName;
cout << "Type your full name: ";
getline(cin, fullName);
cout << "Your name is: ";
cout << fullName;
// Type your full name: John Doe
// Your name is: John Doe

هشدار: اگر قبل از getline() ورودی عددی داشتی، یک \n در بافر می ماند. ابتدا آن را با cin.ignore() مدیریت کن.

تمرین گام به گام

  1. نام کوچک را با cin >> بگیر و چاپ کن.
  2. نام کامل را با getline() بگیر و چاپ کن.
  3. تفاوت خروجی ها را مقایسه و دلیلش را توضیح بده.

جمع بندی سریع

  • cin فقط یک کلمه می خواند.
  • getline یک خط کامل می گیرد.
  • فاصله پایان ورودی cin است.
  • برای نام کامل، از getline استفاده کن.

ورودی رشته | کاراکترهای خاص | فضای نام در رشته ها