VC下判断文件是否存在之最简方法(网络整理)

本文提供了五种不同的方法来检查文件是否存在,包括使用C语言标准库函数如_access(),Windows API函数如CreateFile()和FindFirstFile(),以及GetFileAttributes()函数等,适用于不同应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

方法1:
#include  <io.h>
#include  <stdio.h>
#include  <stdlib.h>

void main( void )
{
    /* Check for existence */
    if( (_access( "D://a.txt", 0 )) != -1 )
    {
        printf( "File ACCESS.C exists/n" );
        /* Check for write permission */
        if( (_access( "ACCESS.C", 2 )) != -1 )
            printf( "File ACCESS.C has write permission/n" );
    }
}

方法2:
if (INVALID_HANDLE_VALUE != CreateFile("D://a.txt", GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL))
{
    AfxMessageBox("File ACCESS.C exists/n");
}

方法3:
#define _WIN32_WINNT 0x0400

#include <windows.h>
#include <stdio.h>

int main(int argc, char *argv[])
{
    WIN32_FIND_DATA FindFileData;
    HANDLE hFind;

    printf ("Target file is %s./n", argv[1]);
    hFind = FindFirstFile(argv[1], &FindFileData);
    if (hFind == INVALID_HANDLE_VALUE)
    {
        printf ("Invalid File Handle. GetLastError reports %d/n", GetLastError ());
        return (0);
    }
    else
    {
        printf ("The first file found is %s/n", FindFileData.cFileName);
        FindClose(hFind);
        return (1);
    }
}

方法4:
if (GetFileAttributes("c://1.txt") == -1)
    MessageBox(0."Invalid File ","hehe",0)
else
    MessageBox(0."The first file found ","haha",0)

方法5:
if (INVALID_HANDLE_VALUE != CreateFile("D://a.txt", 0, 0, NULL, OPEN_EXISTING, 0, NULL))
{
    AfxMessageBox("File exists/n");
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值