Débutant Faire K & amp; R
-
06-07-2019 - |
Question
Je commence tout juste à programmer et à passer par K & amp; R pour essayer et apprendre C. J'ai abordé la section sur les arguments en ligne de commande (5.10), mais je suis maintenant perplexe. Chaque fois que j'essaye d'ouvrir un programme que j'ai écrit avec des arguments en ligne de commande, on me dit que le fichier X, X étant l'argument, n'existe pas.
`gcc -o find find.c
ouvrir le test de recherche
Le fichier / Documents / Learning_C / test n'existe pas. `
Des suggestions? Merci
La solution
Sur quel système êtes-vous? Sous Unix / Linux, vous compilez & amp; lancez votre exécutable via:
gcc -o find find.c
./find test
Comme d'autres l'ont déjà noté , lorsque vous préfixez votre fichier binaire avec " ./ ./ ", il n'y aura pas de conflits de noms. Cependant, si vous avez rendu find
accessible dans votre $ PATH
, vous pouvez rencontrer des conflits avec find et test - programmes standard avec la plupart des distributions * nix ... Vous pourriez peut-être choisir des noms plus spécifiques ( ./ myFind testArg )
Autres conseils
Essayez de donner à votre exécutable de sortie un nom différent.
Je soupçonne que vous exécutez la commande de recherche système qui recherche un répertoire appelé "test".
Ou essayez de le forcer en exécutant
./find toto
Modifier: Il est important de faire précéder la commande ./ de la commande car elle indique au shell d'exécuter la recherche dans le répertoire en cours, par opposition à la première recherche qui existe dans votre PATH. Il est normalement recommandé de ne pas en avoir. (le répertoire en cours) dans votre PATH pour des raisons de sécurité.
HTH
P.S. Oublié de dire bon pour travailler par K & amp; R. Je viens de finir de faire la même chose après avoir travaillé en C pendant trente ans et c’était bien de revenir et de rafraîchir l’esprit!
Au lieu de nous laisser deviner individuellement ce que vous faites mal, vous devriez peut-être coller le programme que vous utilisez pour l'illustration mentionnée?