4

我刚刚开始编程并通过 K&R 尝试学习 C。我已经进入了关于命令行参数的部分(5.10),但现在我被难住了。每次我尝试打开一个我用命令行参数编写的程序时,我都会被告知文件 X,X 是参数,不存在。

`gcc -o 查找 find.c

打开查找测试

文件 /Documents/Learning_C/test 不存在。`

有什么建议么?谢谢

4

3 回答 3

3

你在什么系统上?在 Unix/Linux 中,您可以通过以下方式编译和运行可执行文件:

gcc -o find find.c
./find test

正如其他人所指出的,当您在二进制文件前加上“./”时,不会有任何命名冲突。但是,如果find您的$PATH. _

于 2009-08-01T17:22:07.917 回答
1

尝试给你的输出可执行文件一个不同的名字。

我怀疑您正在执行系统查找命令,该命令正在寻找一个名为“测试”的目录。

或者尝试通过执行来强制它

./find toto

编辑:在命令前添加 ./ 很重要,因为它告诉 shell 在当前目录中执行查找,而不是在 PATH 中存在的第一个“查找”。通常建议您没有 . (当前目录)出于安全原因在您的 PATH 中。

高温高压

PS 忘了说通过 K&R 工作的好话。在 C 领域工作了 30 年后,我刚刚完成了同样的工作,能够重新振作精神真是太好了!

于 2009-08-01T17:23:26.293 回答
0

与其让我们每个人都单独猜测你到底做错了什么,也许你应该粘贴你在上面提到的插图中使用的程序?

于 2009-08-01T22:14:09.763 回答