Foros del Web » Programación para mayores de 30 ;) » Programación General »

Por que error de Violacion del segmento?

Estas en el tema de Por que error de Violacion del segmento? en el foro de Programación General en Foros del Web. 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; ...
  #1 (permalink)  
Antiguo 19/01/2005, 11:51
 
Fecha de Ingreso: junio-2002
Ubicación: España
Mensajes: 348
Antigüedad: 22 años, 5 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
  #2 (permalink)  
Antiguo 19/01/2005, 12:27
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años, 6 meses
Puntos: 74
Reemplazando la función ProcesarArchivo (que no está en el código adjuntado) no da ninguna excepción, supongo que ahi estará el problema.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #3 (permalink)  
Antiguo 19/01/2005, 14:25
 
Fecha de Ingreso: junio-2002
Ubicación: España
Mensajes: 348
Antigüedad: 22 años, 5 meses
Puntos: 8
no.... haber ProcesarArchivo la tengo programada pero la comento y el error viene cuando meto 3 argumentos, por ejemplo ./preprocesar -I /ruta/archivo

saludos
  #4 (permalink)  
Antiguo 19/01/2005, 14:29
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años, 6 meses
Puntos: 74
En ese caso solo obtengo lokesea, pero claro yo lo estoy haciendo con VC++ en Windows ...
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:40.