Hola chicos tengo el siguiente codigo:
infile.open("data.txt"); // create input stream and connect "data" to it
if(!infile)
{
cerr << "Unable to open file textfile.doc\n";
sc_stop();
}
else
{
cout << infile.tellg();
cout <<"\n";
// Read first line to know the length
infile.getline(line,N);
a1->columns=strlen(line);
cout << a1->columns;
cout << "\n";
// Count the number of lines
do
{
a1->rows++;
infile.getline(line,N);
}while(infile);
//infile.close();
cout << a1->rows;
cout << "\n";
// Create the matrix
a1->constructor();
cout << "EXIT CONSTRUCTOR\n";
infile.seekg(ios::end);
j=infile.tellg();
cout << j;
cout << "\n";
// in.open("data.txt");
while((infile)&&(i<a1->rows))
{
// Read next line
infile.getline(line,N);
// Copy the read information into an array
a1->array[i]=line;
// Print the read information
cout << a1->array[i]<< endl;
// Increase the index
i++;
}
cout << i;
cout << "\n";
// infile.seekg(ios::end);
infile.close();
cout << "File closed\n";
a1->destructor();
cout << "Memory deleted\n";
Si utilizo el mismo stream para leer y copiar el fichero la funcion "tellg" me dice que el stream esta en -1 y por lo tanto no copia nada, pero si utilizo streams diferentes despues de cerrar el stream me dice que hay un problema de direccionamiento (mas exactamente: free(): invalid pointer: 0x0807e71c ***)
POR FAVOR NECESITO AYUDA, ME ESTOY VOLVIENDO LOCA!!!!!!!!!
Gracias