【问题标题】:Cplusplus cin splittingCplusplus cin 分裂
【发布时间】:2013-03-31 18:51:34
【问题描述】:

我有以下代码:

int main()
{
string input = "";
std::vector<int> board = create_board();
print_board(board);

std::stringstream stream;


cout << "Please enter two numbers: ";
getline(cin, input);
stream << input;
cout << stream << endl << endl;

我想要做的是从用户那里得到两个数字,以字符串的形式用空格分隔。将它们转换为整数,并将这两个整数存储在一个数组中,以便在程序中进一步使用。 (我正在用 C++ 为学校编写游戏内存)。有人可以帮我吗?

【问题讨论】:

  • 为什么要以string的形式得到两个int,然后再转换呢?直接将它们读取为ints 会更简单/更有效。
  • 视情况而定。有什么问题?
  • @Tushar - 一次读取一行而不是直接读取单个字段的原因是它更容易解析更复杂的输入格式,并且通常更容易识别和报告错误。

标签: c++ input stream cin


【解决方案1】:

你差不多完成了。

stream << input;
int tmp1, tmp2;
if(stream >> tmp1 >> tmp2)
    cout << tmp1 << " "<< tmp2<< endl;
else
   // there is error.

应该这样做。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-25
    • 1970-01-01
    • 2021-02-16
    • 2019-06-23
    • 2022-09-29
    • 2018-09-27
    • 2015-11-07
    相关资源
    最近更新 更多