2012-08-11 6 views
0

Hey, j'ai un problème avec mes méthodes write et readFile. Les méthodes ne font rien. La méthode est supposée écrire les éléments d'un tableau dynamique dans un fichier appelé C++. Et puis aussi pour le fichier lu, La méthode est supposée lire dans les éléments de ArrayList.WriteFile ne fait rien

Voici mon code: Méthodes

//--------------------------------------------------------------------------------------- 
// 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(); 

    } 

Si quelque chose d'autre est nécessaire, il suffit de demander et je vais poster.

+0

Vous devriez passer des chaînes par 'const &' si vous voulez seulement les lire, comme dans votre exemple. Regardez http://stackoverflow.com/questions/10836221/should-i-write-constructors-using-rvalues-for-stdstring –

+0

Ce sont des fonctions membres d'une classe? – tmpearce

+0

Avez-vous vérifié la valeur de 'm_size'? – juanchopanza

Répondre

1

Le problème avec ceci était les permissions du répertoire. Parce qu'il était seulement lu et non écrit, le document n'a jamais été écrit.