Hola..! bueno, estoy teniendo un problema y no entiendo que es lo que está sucediendo ya que el programa se me cierra sin ningún tipo de error. me podrían ayudar?..<br><br>Acá va una parte del código:<br><br>typedef struct {
<br>   int largo;<br>   char *nombre;<br>   int *datos;<br>} comando;<br>...<br>#define TITULO prueba<br>...<br>comando *comandoactual;<br><br>...<br>...<br>    ini=fopen("c:\\config.ini","r"); //abre el arch de config para la lectura
<br>    prueba=fopen("c:\\prueba.ini","w");<br>    if (ini == NULL || prueba==NULL)<br>    {<br>        MessageBox(hwnd, "Error al abrir el archivo",<br>        TITULO, MB_ICONINFORMATION | MB_OK);
<br>        return false;<br>    }<br>...<br>...<br><br>comandoactual=(comando*) malloc(sizeof(comando));<br>...<br>comandoactual->nombre=(char *) malloc(strlen(cadtemp)+1);<br>...<br>strcpy(comandoactual->nombre,cadtemp); //cadtemp esta definida como array char cadtemp[101];
<br>...<br>MessageBox(hwnd, cadtemp,<br>            TITULO, MB_ICONINFORMATION | MB_OK);<br>MessageBox(hwnd, comandoactual->nombre,<br>            TITULO, MB_ICONINFORMATION | MB_OK);<br>            //hasta acá bien ya que los 2 msgbox son iguales...
<br><br>comandoactual->largo=temp; //hasta acá está bien<br><br>comandoactual->datos=(int*)malloc(sizeof(int)*2); //puede que esté aca? pero después de esto el msgbox se ejecuta intento usar como un array<br><br>MessageBox(hwnd, "Llego hasta el malloc",TITULO, MB_ICONINFORMATION | MB_OK);
<br><br>            for(cuenta=0;cuenta<temp*2;cuenta+=2)<br>            {<br>                fscanf(ini,"%d",&comandoactual->datos[cuenta]);<br>                fprintf(prueba, "cuenta:%d %d\n", cuenta, comandoactual->datos[cuenta]);
<br>                FEOFERROR("uno") //nada una macro para ver si hay un end of file pero no lo hay porque veo el archivo de entrada<br>                fscanf(ini,"%d",&comandoactual->datos[cuenta+1]);
<br>                FEOFERROR("cero")<br>                fprintf(prueba, "cuenta:%d %d\n", cuenta, comandoactual->datos[cuenta]);<br>            }<br>            MessageBox(hwnd, "Después del for",TITULO, MB_ICONINFORMATION | MB_OK); //hasta acá no llega
<br>fclose (ini)<br><br>//a partir de aca es solo una verif a la que ni llega por tildarse antes<br><br>fprintf(prueba,"Nombre: %s, %d\n", comandoactual->nombre, comandoactual->largo);<br>for(cuenta=0;cuenta<comandoactual->largo*2;cuenta+=2)
<br>fprintf(prueba,"%d\n%d\n",comandoactual->datos[cuenta],comandoactual->datos[cuenta+1]);<br>fprintf(prueba,"fin");<br>fclose(prueba);<br><br>prueba y ini ya están abiertos.. eso está verificado, en 
prueba.ini no obtengo nada, siendo que por tildarse antes debería tener aunque sea "probando..." <br><br><br><br>Alguien podrá ayudarme? Posiblemente el error esté en la utilización del puntero como arrays... pero esto es así? No se qué mas hacer para depurar... me podrían ayudar? y eso de que en prueba no hay nada me deja desconcertado... ya que no da error de inic. y se tilda después de esto pasando otras instrucciones...
<br><br>muchas gracias! Saludos!<br>