从文件中读取条目时索引超出范围

问题描述 投票:1回答:1

我有以下文本文件:

  1. DC的明天传奇

  2. 冰河时代5:碰撞课程

  3. 百富勤小姐的特殊儿童之家

  4. 禁忌帝国

  5. 零定理

  6. X战警:过去的日子

  7. 木星升序

  8. 道德工具:骨头之城

  9. Adaline的年龄

  10. 忧郁症

每个条目之间都有一行空格。我正在尝试通读文件,并将每个电影保存到字符串数组中。我收到错误消息:调试断言失败!表达式:字符串子字符串超出范围

这是我的代码:

void readFile() {
        ifstream in_stream;
        int numberLines = 10;
        string movieName;
        int movieNum;
        string movieList[10];
        in_stream.open("input.txt"); 
        for (int i = 0; i < 10; i++)
        {
            in_stream >> movieNum >> movieName;
            movieList[i] = movieName;
        }

        in_stream.close();
    }
c++ c++11 visual-c++ ifstream
1个回答
0
投票

从文件中读取数据时,您只会得到字符串数据。 MovieNum被声明为Integer。但是您正在尝试将字符串数据存储到其中。

void readFile() {
        ifstream in_stream;
        int numberLines = 10;
        string movieName;
        string movieNum;
        string movieList[10];
        in_stream.open("input.txt"); 

        for (int i = 0; i < 10; i++)
        {
            in_stream >> movieNum >> movieName;
            movieList[i] = movieName;
        }

        in_stream.close();
    }

希望这会有所帮助:)

© www.soinside.com 2019 - 2024. All rights reserved.