2

首先,我只是一个初学者,这是我的第一C++堂课

说,如果我有一个名为 的数组result[500],我已经有一个名为 的输入流ifstream,我如何将所有内容(基本上它们都是数字和运算符以及两者之间的空格,但我们只想要数字和运算符)存储到数组中。

例如文件是:

 3   4   2   1  -  5 

会来到

result[]= {3,4,2,1,-,5}

有人可以帮我解决这个问题吗?

提前致谢!!!

4

4 回答 4

3

std::fstream

  1. 阅读:

    std::ifstream ifs("data.txt");
    for (int i = 0; i < N; ++i)
    {
        ifs >> array[i];
    }
    
  2. 存储:

    std::ofstream ofs("data.txt");
    for (int i = 0; i < N; ++i)
    {
        ofs << array[i] << " ";
    }
    
于 2012-09-20T16:33:52.387 回答
1

您必须使用 for 循环来迭代所有元素并将它们一一转储到 cout 附加任何您希望的格式

于 2012-09-20T16:34:03.333 回答
1

如果您READ_FROM_STREAM用流式阅读代码替换,那么应该或多或少地做到这一点。

int i = 0;
int x = 0;
while(x = atoi(READ_FROM_STREAM)) {
  array[i++] = x;
}

您可能还应该检查那个i<MAX_ARR_SIZE或类似的。

于 2012-09-20T16:36:28.557 回答
1
  1. 阅读每一行
  2. 分割空白分隔符上的每一行
  3. 将元素存储在 stl 列表中
  4. 使用 std::sort 对元素进行排序

这些行中的每一行都是关键字,您可以在互联网上搜索并自己找到解决方案,这样您就可以学习 c++

祝你好运

于 2012-09-20T16:37:28.113 回答