Estoy intentando crear un puntero a uno de los argumentos main() en mi programa. Configuré el puntero inicial, luego lo configuré igual al segundo elemento de la matriz, pero recibo un error cuando intento compilar, fallo de segmentación. ¿Esto ocurre porque un puntero apunta a una dirección incorrecta?Extrayendo cadena de argumentos principales()
Aquí está el código:
char *filename;
*filename = argv[1];
printf("The filename is: %s", *filename);
recibo errores sobre el puntero tratando de emitir el argumento como un int. ¿Esto es porque el puntero es en realidad un valor de dirección entero y estoy tratando de establecerlo igual a una cadena?
Editar: Cuando cambio a "filename = argv [1]", entonces obtengo el siguiente error de mi compilador: la tarea descarta los calificadores del tipo de destino del puntero.
Asimismo 'printf ("El nombre de archivo es:% s", nombre de archivo);'. El especificador '% s' espera un carácter * puntero *. – dmckee
Cuando cambio a "filename = argv [1]", recibo el siguiente error de mi compilador: la tarea descarta los calificadores del tipo de destino del puntero. – Kelp
@Kelp: define main con 'int main (int argc, char ** argv)' o 'int main (int argc, char * argv [])'. – pmg