您好我已经开始学习一些关于FILE指针以及如何打开文件等等。 我正在阅读Stephen Prata的书“Primer Plus Fifth Edition”(Sams出版社) 我甚至无法获得他们在我的项目中工作的解决方案。
这就是它的外观
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int byte;
FILE * source;
int filect;
if (argc == 1)
{
printf("Usage: %s filename[s]\n", argv[0]);
exit(EXIT_FAILURE);
}
for (filect = 1; filect < argc; filect++)
{
if ((source = fopen(argv[filect], "r")) == NULL)
{
printf("Could not open file %s for input\n", argv[filect]);
continue;
}
while ((byte = getc(source)) != EOF)
{
putchar(byte);
}
if (fclose(source) != 0)
printf("Could not close file %s\n", argv[1]);
}
return 0;
}`
输出是:用法:(我的c项目所在的位置)filename [s] 按下任意键继续...为什么会发生这种情况?
答案 0 :(得分:2)
argv[0]
可以引用运行程序时可执行文件所在的目录。该标准规定如下:
如果argc的值大于零,则argv [0]指向的字符串表示程序名称;如果程序名不能从主机环境获得,则argv [0] [0]应为空字符。
从argv[1]
到argv[argc - 1]
,可以访问通过命令行传递给应用程序的参数。