Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/01/2005, 11:51
ZeroZ
 
Fecha de Ingreso: junio-2002
Ubicación: España
Mensajes: 348
Antigüedad: 21 años, 11 meses
Puntos: 8
Por que error de Violacion del segmento?

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