I dont understand why I have to increment de variable contador before I do this
palabras[contador]=auxiliar;
palabras is an array of char pointers that I declared like this:
char *palabras[13];
Which I think is the proper way to do it. This array of pointers would store words that have a max size of 12. I created contador as a global variable and initialized to 0. But if I don't put contador++; before using palabras[contador]=auxiliar the program will crash, for some reason I can't write in the palabras[0] array.
void leerArchivo()
{
ifstream archivo("palabras.txt", ios::in);
char linea[13];
char *auxiliar;
if(archivo.fail())
{
cerr<<"Error al abrir el archivo palabras.txt"<<endl;
getch();
}else
{
while(!archivo.eof())
{
archivo.getline(linea, sizeof(linea));
contador++; //???
auxiliar=linea; //copy the first address of the array linea
palabras[contador]=auxiliar;
cout<<" "<<palabraSize(palabras[contador])<<" "; //????
cout<<palabras[contador]<<endl;
}
archivo.close();
}
}
Aucun commentaire:
Enregistrer un commentaire