0

嘿,我的 write 和 readFile 方法有问题。这些方法不做任何事情。该方法应该将动态数组的元素写入名为 C++ 的文件中。然后对于读取的文件,该方法应该是读取ArrayList的元素。

这是我的代码:方法

//---------------------------------------------------------------------------------------
//  Name:         Array::WriteFile
//  Description:  Writes an array to disk
//  Arguments:    The Filename
//  Return Value: true on success, false on failure
//---------------------------------------------------------------------------------------
   void writeFile(string file)//saves the array elements into a text file
    {
        //sort();
        ofstream outfile(file);//allows you to write to the document passed in
        for(int i = 0; i < m_size; i++)//loops through the array
        {
            outfile << m_array[i] << endl;//saves each element into a single line in the text document
        }
        outfile.close();
    }


//---------------------------------------------------------------------------------------
//  Name:         ReadFile.
//  Description:  Reads an array from disk.
//  Arguments:    The Filename.
//  Return Value: True on success, false on failure.
//---------------------------------------------------------------------------------------
   void readFile(string file)
    {
        ifstream inFile(file);//reads the file
        string line;//creates a string to take in information from the text deocument
        int numLines=0;//number of lines read in text document so far

        while(getline(inFile, line))//loops through the text document counting how many lines are in it.
        {
            numLines++;//increments every time a line is read
        }
        Datatype object;//creates a variable of type DataType to hold whatever is in the text document be it int, float, string etc...
        inFile.clear() ;//these two lines reset the inFile and go back to the start allowing to read through it again
        inFile.seekg(0, ios::beg) ;
        for(int i = 0; i < numLines; i++)//loops for whatever the number of lines there is in the document.
        {
            inFile >> object;//pushes the line into the document into object
            push(object);//calls the push function that will push object into the array in the right order
        }
        inFile.close();

    }

如果需要其他任何东西,请询问,我会发布。

4

1 回答 1

1

这个问题是目录权限。因为它只被读取而不被写入,所以文件从未被写入。

于 2012-12-28T21:53:06.627 回答