相关疑难解决方法(0)

stringstream究竟做了什么?

我从昨天开始学习C++并且正在使用这个文档:http://www.cplusplus.com/files/tutorial.pdf(第32页).我在文档中找到了一个代码,然后运行它.我尝试输入Rs 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; 
}
Run Code Online (Sandbox Code Playgroud)

问题:mystring命令究竟做了什么?引自文件:

"在这个例子中,我们间接从标准输入中获取数值.不是直接从标准输入中提取数值,而是从标准输入(cin)获取行到字符串对象(mystr),然后我们提取整数此字符串中的值为int(quantity)类型的变量."

我的印象是该函数将采用字符串的组成部分并将其用作输入.

(我不知道如何在这里提问.我也是编程的新手)谢谢.

c++ sstream

92
推荐指数
3
解决办法
24万
查看次数

标签 统计

c++ ×1

sstream ×1