【问题标题】:How do I store numbers in two arrays with specific order?如何以特定顺序将数字存储在两个数组中?
【发布时间】:2020-12-10 09:42:41
【问题描述】:

我想打开一个文本文件并完整读取它,同时使用 c++ 将其内容存储到数组中。我在下面有我的示例文本文件。我想将第一个数字存储到一个数组中,其余的存储到第二个数组中。例如 9 存储在第一个数组中,22 22 存储在第二个数组中,然后 1 存储在第一个数组中 2 3 4 在第二个数组中等等......我不知道如何在 C++ 中完成这个,非常感谢任何帮助!

               9 22 22
               1 2 3 4
               1 5
               2 3 6 9

例如,当我打印要显示的第一个数组时:9 1 1 2(第一列) 当我打印第二个数组时,我想显示:22 22 2 3 4 etc...

【问题讨论】:

  • 能否请您澄清您的问题。你显示输入,但你想要的输出是什么?
  • 很难理解你的问题出在哪里。您可以定义两个std::vector,然后每行读取文件行(getline)等。如果您尝试一下,我们会更容易为您提供帮助
  • 还以minimal reproducible example 的形式包含您当前的代码。
  • 对于第一个数组,我想成为 9 1 1 2(第一列中的数字)对于第二个数组 22 22 2 3 4...(其余数字)

标签: c++ file text storage


【解决方案1】:

这是一种方法:

  • 只要您可以成功地从文件中读取一行,就可以创建一个循环。为此,您需要 std::stringstd::getline
  • 在循环中:
    • 将您读到的那行放在std::istringstream 中以简化提取过程。
    • 声明一个用于提取数字的临时变量。
    • 尝试从istringstream 中提取一个数字。
    • 如果您成功提取了一个号码:
      • 将提取的号码放入arr1
      • 创建另一个循环,从istringstream 中逐一提取所有其余数字并将它们放入arr2

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-02-27
    • 2018-10-04
    • 1970-01-01
    • 1970-01-01
    • 2012-03-10
    • 2019-11-06
    • 2019-06-20
    • 1970-01-01
    相关资源
    最近更新 更多