char* Buffer=new char(MAXLINEA);

Estás creando un char en lugar de un array de chars. Tenés que poner esto:

char * Buffer = new char[MAXLINEA];

y al final

delete[] Buffer;


On 5/19/07, pablo Bianco <[EMAIL PROTECTED]> wrote:

Hola estoy escribiendo un archivo de texto que luego levanto.

Estoy programando en visual c++ 2005, compilando con
Use MFC in a Shared DLL

El tema es el siguiente,

si escribo esto

ifstream archIn;
char
Buffer[MAXLINEA]; archIn.open(path.c_str(),ios::in);
if (archIn.is_open())
{

    archIn.getline(Buffer,MAXLINEA-1);
  }
el programa funciona correctamente.

ahora si le declaro en forma dinamicamente al buffer,
if
(archIn.is_open()) {
    char* Buffer=new char(MAXLINEA);
     archIn.getline(Buffer,MAXLINEA-1);
   delete Buffer;

  }

me tira una excepcion en el delete.

¿Alguien tiene idea de porque sera?, alguna recomendacion para
escritura/lectura de archivos.,

------------------------------
*Preguntá. Respondé. Descubrí.*
Todo lo que querías saber, y lo que ni imaginabas,
está en *Yahoo! Respuestas* (Beta).
*¡Probalo ya! <http://ar.answers.yahoo.com>*


_______________________________________________
Lista de correo Programacion.
[email protected]
http://listas.fi.uba.ar/mailman/listinfo/programacion




--
_Leo_
(aka Lele)
_______________________________________________
Lista de correo Programacion.
[email protected]
http://listas.fi.uba.ar/mailman/listinfo/programacion

Responder a