如何从文件.txt

时间:2018-06-14 16:47:23

标签: c++ arrays class dynamic

我有一个管理图书馆的程序。我有3节课。

1.- Class Biblioteca(Library)用动态数组管理书籍(数组名为m_biblio),每个位置都是一本书(标题......)

2.- Llibre(Book)管理每本书,包含一个动态数组(数组名为m_llibre),每本书的副本数量。

3.-类别范例(copie),包含atributte的getter和setter。

我在类库中有一个函数,它读取文件中的whats,并设置数组大小:

    ifstream fitxer;
    string titol, autor;
    int maxllibres = 0;
    int nExemplars=0;
    int i = 0;
    fitxer.open(nomFitxer);

    if (fitxer.is_open())
    {
        fitxer >> maxllibres; //first line of txt reads an integer
        setBiblioteca(maxllibres);
        while (!fitxer.eof())
        {
            fitxer >> titol >> autor >> nExemplars;
            m_biblio[i].setTitol(titol);
            m_biblio[i].setAutor(autor);
            m_biblio[i].setNExemplars(nExemplars);
            i++;
        }
    }
    fitxer.close();

此函数调用 setBiblioteca(maxllibres); m_biblio [i] .setNExemplars(nExemplars); 来设置数组的大小。

setBiblioteca的功能如下:

{
m_maxllibres = Maxllibres;
m_biblio = new Llibre[m_maxllibres];
}

与setNExemplars相同。

在这种情况下,程序无法设置数组的大小。 VS输出是这个std :: bad_array_new_length。而且我不知道问题是什么。 如果你能帮到我,我将非常乐意解决这个问题。

Thaaanks!

0 个答案:

没有答案