【问题标题】:User inputs stringstream, then need convert to string to pass in function parameters用户输入字符串流,然后需要转换成字符串传入函数参数
【发布时间】:2013-04-11 01:22:03
【问题描述】:

我试图向用户询问字符串流,然后将其转换为字符串,以便我可以将其传递给函数参数。我怎样才能做到这一点 ? :

string Nm;
stringstream ss;
cout << " Please enter where the charge was made " << endl;
                 cin >> Nm;
                 ss.str();
                 cca.doCharge(Nm);

【问题讨论】:

  • 你不能真正向用户询问字符串流。
  • 那么我将如何向用户询问一个字符串,如果他们输入让我们说 GREEN GRASS,那可以接受吗?因为现在如果用户输入一个字符串,它只允许一个单词。
  • std::getline() 可能更合适。
  • 谢谢。因此,当我摆脱 cin >> Nm 并添加 getline(cin,Nm) 时,我的代码将运行,但它会跳过用户输入 Nm 的部分。知道为什么吗?

标签: c++ string stringstream


【解决方案1】:

您是要求将实际流传递给函数还是字符串?以下通过流:

std::string str;
std::stringstream ss;

std::getline(std::cin, str);
ss.str( str );

cca.doCharge(ss);

这会传递字符串:

cca.doCharge(str);

【讨论】:

  • 我相信OP想要传递流的字符串(str)。当有疑问时,最好在答案中提出这两个问题的解决方案,而不是在其中提出问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多