สตริงอินพุตผู้ใช้ C++
สตริงอินพุตของผู้ใช้
เป็นไปได้ที่จะใช้ตัวดำเนินการแยก>>
เพื่อcin
แสดงสตริงที่ผู้ใช้ป้อน:
ตัวอย่าง
string firstName;
cout << "Type your first name: ";
cin >>
firstName;
// get user input from the keyboard
cout << "Your name is: " <<
firstName;
// Type your first name: John
// Your name is: John
อย่างไรก็ตามcin
ถือว่าการเว้นวรรค (ช่องว่าง แท็บ ฯลฯ) เป็นอักขระที่สิ้นสุด ซึ่งหมายความว่าสามารถแสดงคำได้เพียงคำเดียว (แม้ว่าคุณจะพิมพ์หลายคำก็ตาม):
ตัวอย่าง
string fullName;
cout << "Type your full name: ";
cin >>
fullName;
cout << "Your name is: " <<
fullName;
// Type your full name: John Doe
// Your name is: John
จากตัวอย่างข้างต้น คาดว่าโปรแกรมจะพิมพ์ "John Doe" แต่จะพิมพ์เฉพาะ "John"
ด้วยเหตุนี้ เมื่อทำงานกับสตริง เรามักใช้getline()
ฟังก์ชันนี้เพื่ออ่านบรรทัดข้อความ ใช้cin
เป็นพารามิเตอร์แรก และตัวแปรสตริงเป็นพารามิเตอร์ที่สอง:
ตัวอย่าง
string fullName;
cout << "Type your full name: ";
getline (cin, fullName);
cout << "Your name is: " <<
fullName;
// Type your full name: John Doe
// Your name is: John Doe