Pregunta

Estoy empezando a programar y revisando K & amp; R para tratar de aprender C. Llegué a la sección de argumentos de línea de comando (5.10) pero ahora estoy perplejo. Cada vez que intento abrir un programa que he escrito con argumentos de línea de comandos, me dicen que el archivo X, siendo X el argumento, no existe.

`gcc -o find find.c

prueba de búsqueda abierta

El archivo / Documents / Learning_C / test no existe.

¿Alguna sugerencia? Gracias

¿Fue útil?

Solución

¿En qué sistema estás? En Unix / Linux compilas & amp; ejecute su ejecutable a través de:

gcc -o find find.c
./find test

Como otros han notado , cuando prefijas tu binario con " ./ " ;, no habrá conflictos de nombres. Sin embargo, si hizo que find sea accesible en su $ PATH , puede tener algunos conflictos con find y test : programas estándar con la mayoría de las distribuciones * nix ... Tal vez podría elegir nombres más específicos (es decir, ./myFind testArg )

Otros consejos

Intenta darle a tu ejecutable de salida un nombre diferente.

Sospecho que está ejecutando el comando de búsqueda del sistema que está buscando un directorio llamado 'prueba'.

O intente forzarlo ejecutando

./find toto

Editar: anteponer el ./ al comando es importante porque le dice al shell que ejecute la búsqueda en el directorio actual en lugar de la primera 'búsqueda' que existe en su RUTA. Normalmente se recomienda que no tenga. (el directorio actual) en su RUTA por razones de seguridad.

HTH

P.S. Olvidé decir uno bueno para trabajar a través de K & amp; R. ¡Acabo de terminar de hacer lo mismo después de trabajar en C durante treinta años y fue bueno volver y refrescar la mente!

En lugar de hacernos a todos individualmente adivinar qué es exactamente lo que estás haciendo mal, ¿quizás deberías pegar el programa que estás usando para la ilustración mencionada?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top