2012-03-22 15 views
6

Buduję program, który pobiera plik wejściowy w tym formacie:plik_we niekompletny typ błędu

title author 

title author 

etc 

and outputs to screen 

title (author) 

title (author) 

etc 

problemu Obecnie coraz to błąd:

"ifstream infile has incomplete type and cannot be defined"

Poniżej program:

#include <iostream>    
#include <string> 
#include <ifstream> 
using namespace std; 

string bookTitle [14]; 
string bookAuthor [14]; 
int loadData (string pathname);   
void showall (int counter); 

int main() 

{ 
int counter; 
string pathname; 

cout<<"Input the name of the file to be accessed: "; 
cin>>pathname; 
loadData (pathname); 
showall (counter); 
} 


int loadData (string pathname) // Loads data from infile into arrays 
{ 
    ifstream infile; 
    int counter = 0; 
    infile.open(pathname); //Opens file from user input in main 
    if(infile.fail()) 
    { 
     cout << "File failed to open"; 
     return 0; 
    } 

    while (!infile.eof()) 
    { 
      infile >> bookTitle [14]; //takes input and puts into parallel arrays 
      infile >> bookAuthor [14]; 
      counter++; 
    } 

    infile.close; 
} 

void showall (int counter)  // shows input in title(author) format 
{ 
    cout<<bookTitle<<"("<<bookAuthor<<")"; 
} 
+1

Możliwa powielać http://stackoverflow.com/questions/1057287/offstream-error-in-c – Vaibhav

+0

Nie ma takiego pliku jako standardowe obejmują '' . Twój kompilator powinien wyświetlić błąd. Jeśli nie, sprawdź jego opcje. Ty * chcesz * chcesz mieć błąd w takich przypadkach. – atzz

Odpowiedz

13

strumienie plików są zdefiniowane w nagłówku <fstream> i nie są tym go.

Należy dodać:

#include <fstream> 
+0

Otrzymuję nowy błąd: brak pasującej funkcji dla wywołania do 'std :: basic_ifstream > :: open (std :: string &) ' – kd7vdb

0

Oto mój kod błędu z poprzedniej stałej Teraz mam problem z programem upaść po tym, jak wprowadzić nazwę pliku tekstowego.

#include <iostream>    
#include <string> 
#include <fstream> 
using namespace std; 

string bookTitle [14]; 
string bookAuthor [14]; 
int loadData (string pathname);   
void showall (int counter); 

int main() 

{ 
int counter; 
string pathname; 

cout<<"Input the name of the file to be accessed: "; 
cin>>pathname; 
loadData (pathname); 
showall (counter); 
} 


int loadData (string pathname) // Loads data from infile into arrays 
{ 
    fstream infile; 
    int counter = 0; 
    infile.open(pathname.c_str()); //Opens file from user input in main 
    if(infile.fail()) 
    { 
     cout << "File failed to open"; 
     return 0; 
    } 

    while (!infile.eof()) 
    { 
      infile >> bookTitle [14]; //takes input and puts into parallel arrays 
      infile >> bookAuthor [14]; 
      counter++; 
    } 

    infile.close(); 
} 

void showall (int counter)  // shows input in title(author) format 
{ 

    cout<<bookTitle<<"("<<bookAuthor<<")"; 







} 
Powiązane problemy