• Domingo 15 de Diciembre de 2024, 02:03

Autor Tema:  Error con arreglo de char (c++)  (Leído 1256 veces)

carvann

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Error con arreglo de char (c++)
« en: Viernes 10 de Abril de 2009, 20:45 »
0
este método trata de leer un archivo y la primera linea del archivo es un numero el cual no se de que tamaño es, por lo cual no inicializo
la variable mystdchararray con un valor fijo, sin embargo esto me genera un error  y no se que podria hacer para que no me salga los siguientes errores:

void lecturaArchivo(String ^rRuta)
{
   StreamReader ^in = gcnew StreamReader(File::OpenRead(rRuta));
   String ^linea = in->ReadLine();
   array<Char>^delimiter = linea->ToCharArray();

   char mystdchararray[delimiter->Length];      
                                                                          //error C2057: se esperaba una expresión constante  
                                                                            //error C2466: no se puede asignar una matriz de tamaño constante 0
                                                                             //error C2133: 'mystdchararray' : tamaño desconocido  
 

   for (int i= 0; i < delimiter->Length; i++)
   {        
      mystdchararray = delimiter;
   };

   numeroMaterias = atoi(mystdchararray);

   while(!(in->EndOfStream))
   {
      linea = in->ReadLine();
   Console::WriteLine(linea);
   
   }

   in->Close();
   Console::ReadLine();
}

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: Error con arreglo de char (c++)
« Respuesta #1 en: Lunes 13 de Abril de 2009, 09:43 »
0
Cita de: "carvann"
char mystdchararray[delimiter->Length];
No puedes declarar el tamaño de un vector con una variable. El compilador necesita algo fijo para reservar la memoria, si no, usa memoria dinámica (new).

fachamix

  • Miembro MUY activo
  • ***
  • Mensajes: 173
  • Nacionalidad: ar
    • Ver Perfil
Re: Error con arreglo de char (c++)
« Respuesta #2 en: Lunes 13 de Abril de 2009, 16:58 »
0
vas a tener que usar estructuas de datos dinamicas, usando NEW y DELETE
La muerte vive celosa, de mi amada flor la vida. Dicen que me anda buscando, ojala si un dia me pilla. Me alle MACHAO Y CANTANDO PA QUE SE MUERA DE ENVIDIA