Thắc mắc stringstream

Theo mình dc biết thì Stringstream dùng để lọc ra các dữ liệu mình mong muốn sau khi Nhập vào 1 chuỗi string

Ví dụ :

string mystr ("1204");
int myint;
stringstream(mystr) >> myint; lọc ra ký tự có dữ liệu kiểu int

Cụ thể hơn :

#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main ()
{

string mystr;
float price=0;
int quantity=0;

cout << "Enter price: ";
getline (cin,mystr);
stringstream(mystr) >> price;
cout << "Enter quantity: ";
getline (cin,mystr);
stringstream(mystr) >> quantity;
cout << "Total price: " << price*quantity <<endl;

return 0;
} 

Mình có 1 cái thắc mắc là :Giả sử khách hàng nhập vào 1 chuỗi kiểu như getline (cin,mystr) “Tôi nghĩ price của nó là 100” ,nếu chạy dòng code trên nó sẽ in ra màn hình là giá trị 0, thay vì chỉ cần nhập số 100 thì nó sẽ ra đúng số 100. Vậy có cách khắc phục nào giúp cho màn hình khi xuất sẽ ra đúng giá trị 100 ko nhỉ ? Có phải dùng hàm nào ko ? Tks m,n đã đọc.

Sai, cách hoạt động của nó y như cin/cout vậy.

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?