Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

getline (สตริง) ใน C++


มันถูกใช้เพื่อแยกอักขระจากสตรีมเป็นอินพุตที่ไม่ได้จัดรูปแบบและเก็บไว้ใน s เป็น c-string จนกว่าอักขระที่แยกออกมาจะเป็นอักขระคั่น หรือ n อักขระถูกเขียนไปยัง s (รวมถึงอักขระ null ที่สิ้นสุด) การประกาศมีลักษณะดังนี้:

basic_istream& getline (char_type* s, streamsize n );
basic_istream& getline (char_type* s, streamsize n, char_type delim);

พารามิเตอร์เป็นตัวชี้ 's' ไปยังอาร์เรย์ของอักขระ โดยที่อักขระที่แยกออกมาจะถูกเก็บไว้เป็น c_string พารามิเตอร์ถัดไปคือ 'n' ซึ่งเป็นจำนวนอักขระสูงสุดที่จะเขียน (รวมถึงอักขระที่สิ้นสุด) พารามิเตอร์ที่สามคือ 'delim' ตัวคั่นที่ชัดเจน การดำเนินการแยกอักขระที่ต่อเนื่องกันจะหยุดทันทีที่อักขระถัดไปที่ตรงกันทุกประการมีค่าเท่ากับอักขระนี้ (โดยใช้ traits_type::eq)

ฟังก์ชันนี้จะคืนค่าอ็อบเจ็กต์ basic_istream (*this)

ตัวอย่าง

#include <iostream>
using namespace std;
int main () {
   char name[256], title[256];
   cout << "Please, enter your name: ";
   cin.getline (name,256);
   cout << "Please, enter your favourite movie: ";
   cin.getline (title,256);
   cout << name << "'s favourite movie is " << title;
}

ผลลัพธ์

Please, enter your name: Jack
Please, enter your favourite movie: The Boss Baby
Jack's favourite movie is The Boss Baby