A que se debe el error de Violación del segmento cuando ejecuto mi programa?
el código es:
Código:
int main(int argc, char **argv){
FILE *fp;
char contenidoLinea[509]="";
int i=0;
char ch;
char ruta[50]="/usr/include/";
if (argc==2)
if((fp=fopen(*++argv, "r"))==NULL){
fprintf(stderr, "No se ha podido abrir el archivo %s\n", *argv);
return 0;
}else
while((ch=fgetc(fp))!=EOF){
if(ch!='\n'){
contenidoLinea[i]=ch;
i++;
}else{
contenidoLinea[i]='\0';
ProcesarArchivo(contenidoLinea, ruta);
i=0;
}
}
else
if(argc==3)
printf("lokesea");
else{
printf("Uso: preprocesar [-I <directorio>][<archivo>]\n");
exit(1);
}
fclose(fp);
return 0;
}
se que es un error por overflow del buffer que supongo lo dará por algun array mal definido pero no se porqué sólo me da si pasa a if(argc==3)
Saludos