我想在我的C程序中不输入输入文件的名称。当我对文件名进行硬编码时,所有其他组件都能正常工作。但希望能够传递一个字符串文件名。 我正在尝试编译一个名为Matrix.c
的文件并将其可执行文件命名为matrix
。如何在执行C程序时传递文件名
因此,在终端中,当我到达我的工作目录。
gcc -g Matrix.c -o matrix
然后当我编译
./matrix
它没有传递给它一个文件名,所以我对于要去检查,并让用户输入一个文件名来加载。
然而,当有人通过文件名,是否应该通过为:
./matrix filename.txt
或
./matrix < filename.txt
对于后者的选择,我似乎无法得到参数的名称从argv[1]
传递给函数 - 它只是“(空)”。
我知道这是非常简单的问题。但是我完全摆脱了摇杆吗?这与我在OS X El Capitan上运行有什么关系。我知道我以前使用'<'的惯例。
我环顾四周,有很多不同的解决方案和不同的方法来处理它。 – WallofKron
你能向我们展示'matrix.c'的代码吗?使用'<'重定向不需要任何额外的参数,但是您使用'scanf','gets'读取'stdin',无论您是否使用标准输入。 –
当您使用<您将输入从您的文件名重定向到您的程序。 –