我怎么知道C中是否存在文件?

时间:2015-03-27 22:42:20

标签: c file input

我如何知道C中当前目录中是否存在文件?我正在提示用户,我正在尝试查看他们输入的文件是否已存在。这就是我得到的:

int a=0;
char ing[100];
FILE * inp;


while (a=0);
{
    printf("Input file name: ");
    scanf("%s", ing);
    inp=fopen(ing , "r");
        if (inp==NULL)
            a=0;
        else
            a=1;
}

每当我输入一个不存在的文件时,我就会发现cmd没有响应。每当我输入存在的东西时,它都可以正常工作,这很好。如果NULL不起作用,我只是不知道我需要放入什么。

2 个答案:

答案 0 :(得分:1)

替换:

while (a=0)

使用:

while (a==0)

支票使用:

if( access( ing, F_OK ) != -1 ) {
    // exists
} else {
    // not exist
}

答案 1 :(得分:1)

在c中使用access()函数,我们可以了解文件的存在以及为我们分配的权限。为文件。

  if(access(filename,Checking option)==0)
             printf("success\n");
   else
     printf("...\n");

检查选项:

     R_OK - Check for the read operation
     W_OK - check for the write operation
     X_OK - check for the execute operation
     F_OK - check for the existence of the file