Trong C++, hàm getline()
là một hàm của thư viện string
và iostream
có tác dụng để đọc một dòng văn bản từ một đối tượng istream
(chẳng hạn như cin) và lưu trữ nó trong một chuỗi. Hàm getline()
có hai tham số: đầu tiên là đối tượng istream
để đọc từ, và thứ hai là chuỗi lưu trữ dữ liệu đọc được.
Các bài viết liên quan:
Ví dụ:
string my_str; getline(cin, my_str); cout << "You have entered: " << my_str << endl;
Trong ví dụ trên, hàm getline sẽ đọc một dòng văn bản từ cin và lưu trữ nó trong biến my_str, sau đó in ra màn hình nội dung đã nhập.
getline có thể dùng để đọc một dòng văn bản từ file, từ một chuỗi hoặc từ bất kỳ nguồn dữ liệu nào được liên kết với đối tượng istream.
Hàm getline()
còn có một tham số thứ ba, đó là ký tự ngăn cách (delimiter), mặc định là ký tự xuống dòng (‘\n’). Nó có nghĩa là hàm getline()
sẽ dừng đọc khi gặp ký tự ngăn cách. Ví dụ, nếu bạn muốn đọc một dòng văn bản từ cin và dừng đọc khi gặp ký tự ‘,’:
string my_str; getline(cin, my_str, ','); cout << "You have entered: " << my_str << endl;
Hàm getline còn có thể dùng để đọc một dòng văn bản từ file, ví dụ:
ifstream file("example.txt"); string line; while(getline(file, line)) { cout << line << endl; }
Trong ví dụ trên, hàm getline được sử dụng để đọc từng dòng từ file “example.txt” và in ra màn hình.
Trong tổng quan, hàm getline là một công cụ rất hữu ích trong C++, đặc biệt là khi bạn muốn đọc một dòng văn bản từ nguồn dữ liệu nào đó và lưu trữ nó trong một chuỗi.
Một vài ví dụ getline trong c++
Ví dụ 1: Đọc một dòng văn bản từ cin và lưu trữ nó trong biến my_str
string my_str; getline(cin, my_str); cout << "You have entered: " << my_str << endl;
Ví dụ 2: Đọc một dòng văn bản từ file và in ra màn hình
ifstream file("example.txt"); string line; while(getline(file, line)) { cout << line << endl; }
Ví dụ 3: Đọc một dòng văn bản từ cin và dừng đọc khi gặp ký tự ‘,’
string my_str; getline(cin, my_str, ','); cout << "You have entered: " << my_str << endl;
Ví dụ 4: Đọc một dòng văn bản từ file và lưu trữ nó trong mảng các chuỗi
ifstream file("example.txt"); string line; vector<string> lines; while(getline(file, line)) { lines.push_back(line); }
Ví dụ trên chỉ là một số ví dụ đơn giản về cách sử dụng hàm getline trong C++, có rất nhiều ứng dụng khác có thể sử dụng getline.