ciao a tutti,
ho un codice che richiama un header con questa funzione:
codice:
int modifica()
{
printf("~~~ Multibip --> Modifica contatto\n");
printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");
// Chiedo all'utente se sà quale contatto
modificare o visualizzarli
printf("1) Visualizza i contatti con gli ID\n2)
Inserisci l'ID del contatto da modificare\n");
int scl;
scanf("%i", scl);
switch(scl)
{
case 1:
printf("Multibip --> Rivisualizza contatto\n");
printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");
// Dichiara lo stream e il
prototipo della funzione fopen
FILE *stream, *fopen();
// Apre lo stream del file
stream = fopen("multibip.txt", "r");
// Controlla se il file viene aperto
if ((stream = fopen("multibip.txt", "r"))
== NULL)
{
printf("Non posso aprire il file
%s\n", "multipad.txt");
exit(1);
}
else
{
// Leggo dal file i dati
char linea[500]; // stringa
per l'acquisizione
int index=0; // inizializza l'indice
// Apre il file
FILE *stream =
fopen("multibip.txt","r");
// Salvo la lista di contatti
while(fgets(linea, 500, stream)
!= NULL)
{
printf(linea);
}
}
fclose(stream);
break;
case 2:
remodifica();
break;
}
}
ma all'istruzione switch si blocca e mi dà questo errore:
The instruction at "0x78025c17" referenced memory at "0x78033d38".
The memory could not be "written".
Click OK to terminate the program
Click CANCEL to debug the program
questo indipendentemente dalla scelta che faccio.
Perchè???
P.S. sono alle prime armi con il C
P.S. se può servire sono su piattaforma win2000