我刚刚开始编程并通过K& R尝试学习C.我已经进入了关于命令行参数的部分(5.10),但现在我很难过。每次我尝试打开一个我用命令行参数编写的程序时,我都被告知文件X,X是参数,不存在。
`gcc -o find find.c
打开查找测试
文件/ Documents / Learning_C / test不存在。
有什么建议吗?感谢
答案 0 :(得分:3)
你在哪个系统?在Unix / Linux中你编译&通过以下方式运行可执行文件:
gcc -o find find.c
./find test
As others have noted,当你的二进制文件前缀为“./”时,不会有任何命名冲突。但是,如果您在find
中访问$PATH
,则可能与find和test存在冲突 - 标准程序包含大多数* nix发行版...也许您可以选择更具体的名称(即 ./ myFind testArg )
答案 1 :(得分:1)
尝试为输出可执行文件指定其他名称。
我怀疑你执行系统find命令正在寻找名为'test'的目录。
或者尝试执行
强制执行./find toto
编辑:将./添加到命令很重要,因为它告诉shell在当前目录中执行find而不是PATH中存在的第一个“find”。通常建议您没有。出于安全原因,您的PATH中的(当前目录)。
HTH
P.S。忘了说通过K& R工作的好人。我在C工作了三十年之后就完成了同样的事情,很高兴能够回过头来恢复思绪!
答案 2 :(得分:0)
不是让我们所有人都猜测你究竟做错了什么,也许你应该粘贴你正在使用的程序用于上述插图?