Salve a tutti il seguente programma compila senza errori e in esecuzione mi dà il seguente errore (segmentation fault):
Errore:
Codice PHP:
Last login: Fri Nov 5 09:15:38 on ttys000
MacBook-Pro-di-Tommaso-Ricci:~ zorgatone$ cd ~/Doc*/work*
MacBook-Pro-di-Tommaso-Ricci:workspace zorgatone$ ls
Hello Prova TestEclipse2
Helloc++ TestEclipse canopen
MacBook-Pro-di-Tommaso-Ricci:workspace zorgatone$ cd canopen
MacBook-Pro-di-Tommaso-Ricci:canopen zorgatone$ ls
Debug canopen.c
MacBook-Pro-di-Tommaso-Ricci:canopen zorgatone$ cd Debug
MacBook-Pro-di-Tommaso-Ricci/Debug zorgatone$ ls
canopen canopen.o objects.mk subdir.mk
canopen.d makefile sources.mk
MacBook-Pro-di-Tommaso-Ricci/Debug zorgatone$ ./canopen
Insert filename: makefile
makefile can be opened
Segmentation fault
MacBook-Pro-di-Tommaso-Ricci/Debug zorgatone$
Programma:
Codice PHP:
/*
* canopen.c
*
* Created on: 05/nov/2010
* Author: zorgatone
*/
#include <stdio.h>
#include <stdlib.h>
int main(void) {
typedef char* string;
FILE *fp;
string str;
fprintf(stdout, "Insert filename: ");
fscanf(stdin, "%s", str);
fp = fopen(str, "r");
if (fp == NULL) {
fprintf(stdout, "%s can't be opened\n", str);
exit(EXIT_FAILURE);
}
fprintf(stdout, "%s can be opened\n", str);
fclose(fp);
return 0;
}
l'errore è legato alla funzione fclose(), se la tolgo funziona tutto ma mi sepreste dire perchè si verifica l'errore??
Grazie a tutti in anticipo!
Zorgatone.