我目前正在通过阅读《C 编程语言》来学习 C。
我在使用 getchar()
/putchar()
/EOF
进行输入和输出的练习中遇到问题。看来用练习制作的程序应该用于文件。但是一旦我有了我的 .exe
我只知道如何启动“原始”.exe,我想做一些类似的事情: myProgram.exe file.txt
这样程序就可以读取文件作为输入。不幸的是,我尝试执行此操作的方法不起作用,您能告诉我如何正确执行此操作吗?
我想在文件上使用的程序 (这是书中的代码,没有 int main() 或其他任何内容):
#include <stdio.h>
main()
{
int c;
while((c = getchar()) != EOF)
{
putchar(c);
}
}
我使用的是 Windows 8.1,使用 cl(Visual Studio 编译器)版本 19 x64。
最佳答案
您需要使用命令行参数
int main(int argc, char** argv)
{
//argc = number of arguments on command line
//argv[] = the file names on the command line. Note* the exe will always be argv[0]
}
在您的程序中,您可以将 argv[1] 引用为传入的文本文件。
./a.out myTextFile.txt
此处 argc = 2 且 argv[0] = a.out 而 argv[1] = myTextFile.txt
我建议您在文件读取期间修改代码以包含此内容。
关于c - 如何在控制台中将文件传递给 .exe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33527418/