Tengo un codigo que lee un txt, creo un arreglo para leerlo
char dato[3][30]; //String que guarda las instrucciones
este almacenará 3 datos de máximo 30 caracteres
le asigno los valores asi
strcpy(dato[i], ptrToken); //Se guarda la primera instrucción
ptrToken es el dato que lee
y el destructor que tengo es este
for(int k = 0; k < 3; k++)
{
delete [] dato[k];
std::cout<<"Deleting row #" << k << '\n';
}
El programa o me dice violacion de segmento o me tira errores con códigos incomprensibles...
Uso C++ en linux por consola
No debes usar delete con variables automaticas ya que delete solo se ocupa cuando reservas memoria con new, es decir, lo que haces esta mal, si lo que quieres es vaciar o setear un bloque puedes usar memset... o quisas sea esta la forma en que lo quieres hacer...
char *szCadenas[3] = {NULL, NULL, NULL};
szCadenas[0] = new char[30];
szCadenas[1] = new char[30];
szCadenas[2] = new char[30];
delete[] szCadenas[0];
delete[] szCadenas[1];
delete[] szCadenas[2];
Dulces Lunas!¡.
muchas gracias.. he puesto esto
memset(dato,0,0);
memset(dato,0,0);
Si lo dejas asi, NO HARA NADA... revisa la documentación.
Dulces Lunas!¡.