C程序无法打开文件

时间:2011-10-29 12:53:17

标签: c file netbeans

我有程序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;
}

enter image description here

enter image description here enter image description here

从cmd.exe运行正常 enter image description here 当我在命令参数项目属性窗口中指定完整路径时,也可以正常工作(但写入文件名的完整路径) enter image description here

1 个答案:

答案 0 :(得分:3)

确保正在运行的程序的工作目录与从资源管理器启动时存储程序文件的工作目录相同。我不确定在Windows中可以设置的位置,但我认为这是问题所在..