我有程序proba2.exe和文件text.txt在同一个文件夹中,当我在项目属性中设置命令行参数时它无法打开文件,但是当我从命令提示符运行程序时它工作正常。
/* count.c -- using standard I/O */
#include <stdio.h>
#include <stdlib.h> // ANSI C exit() prototype
int main(int argc, char *argv[])
{
int ch; // place to store each character as read
FILE *fp; // "file pointer"
long count = 0;
if (argc != 2)
{
printf("Usage: %s filename\n", argv[0]);
exit(1);
}
if ((fp = fopen(argv[1], "r")) == NULL)
{
printf("Can't open %s\n", argv[1]);
exit(1);
}
while ((ch = getc(fp)) != EOF)
{
putc(ch,stdout); // same as putchar(ch);
count++;
}
fclose(fp);
printf("File %s has %ld characters\n", argv[1], count);
return 0;
}
从cmd.exe运行正常 当我在命令参数项目属性窗口中指定完整路径时,也可以正常工作(但写入文件名的完整路径)
答案 0 :(得分:3)
确保正在运行的程序的工作目录与从资源管理器启动时存储程序文件的工作目录相同。我不确定在Windows中可以设置的位置,但我认为这是问题所在..