2012-03-22 10 views
6

Estoy construyendo un programa que toma un archivo de entrada en este formato:INFILE tipo incompleto de error

title author 

title author 

etc 

and outputs to screen 

title (author) 

title (author) 

etc 

El problema actualmente estoy recibiendo es un error:

"ifstream infile has incomplete type and cannot be defined"

A continuación se presenta el programa:

#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

posible duplicado http://stackoverflow.com/questions/1057287/offstream-error-in-c – Vaibhav

+0

No hay tal estándar de archivo de inclusión como '' . Tu compilador debería mostrar un error. Si no es así, verifique sus opciones. Usted * desea * tener un error en tales casos. – atzz

Respuesta

13

los flujos de archivos se definen en la cabecera <fstream> y no están incluyendo.

se debe añadir:

#include <fstream> 
+0

El nuevo error que recibo es: sin función de coincidencia para llamar a 'std :: basic_ifstream > :: open (std :: string &) ' – kd7vdb

0

Aquí está mi código con el error anterior fijo Ahora consigo un problema del programa estrellarse después de introducir el nombre del archivo de texto.

#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<<")"; 







} 
Cuestiones relacionadas