将字符读入数组

时间:2012-09-20 16:31:18

标签: c++ arrays ifstream

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

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

例如文件是:

 3   4   2   1  -  5 

将来

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

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

提前致谢!!!

4 个答案:

答案 0 :(得分: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] << " ";
    }
    

答案 1 :(得分:1)

你必须使用for循环来迭代所有元素并将它们转储到cout逐个附加任何格式,如你所愿

答案 2 :(得分:1)

如果您使用流阅读代码替换READ_FROM_STREAM,则应该或多或少地执行此操作。

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

您可能还应检查i<MAX_ARR_SIZE或类似内容。

答案 3 :(得分:1)

  1. 阅读每一行
  2. 拆分空白空间分隔线上的每一行
  3. 将元素存储在stl列表中
  4. 使用std :: sort对元素进行排序
  5. 这些行中的每一行都是您在互联网上搜索并自行找到解决方案的关键词,这样您就可以学习c ++

    祝你好运