我从昨天开始尝试学习 C++,我正在使用这个文档:http ://www.cplusplus.com/files/tutorial.pdf (第 32 页)。我在文档中找到了一个代码并运行了它。我尝试输入价格为 5.5 卢比,数量为整数,输出为 0。我尝试输入 5.5 和 6,输出正确。
// stringstreams
#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;
}
问题:mystring 命令究竟做了什么?引用文档:
“在这个例子中,我们间接从标准输入中获取数值。我们不是直接从标准输入中提取数值,而是从标准输入(cin)中获取行到一个字符串对象(mystr)中,然后我们提取整数将此字符串中的值转换为 int(数量)类型的变量。”
我的印象是该函数将获取字符串的组成部分并将其用作输入。
(我不完全知道如何在这里提问。我也是编程新手)谢谢。