C language to determine whether a file exists

Source: Internet
Author: User

 

C language to determine whether a file exists

Use Function access. The header file is Io. H. prototype:

 

Int access (const char * filename, int amode );

 

If the amode parameter is 0, the object existence is checked. If the object exists, 0 is returned. If the object does not exist,-1 is returned.

 

This function can also check other file attributes:

 

06 check read/write permissions

04 check read permission

02 check write permission

01 check the execution permission

00 check file existence

The experiment is successful under UNIX and VC.

The advantage is that fopen (..., "R") is not good. When there is no read permission, it will not work.

Even if the file has no read permission, you can determine whether the file exists or not.

If 0 exists,-1 exists.

# Include <stdio. h>

Int main ()

{

 

Printf ("% d", access ("111", 0 ));

 

Bytes --------------------------------------------------------------------------------------------

 

# Include <Io. h>

# Include <stdio. h>

# Include <stdlib. h>

 

Void main (void)

{

/* Check for existence */

If (_ access ("access. c", 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 ");

}

}

 

 

Output

 

File Access. C exists

File Access. C has write permission

 

Bytes -------------------------------------------------------------------------------------------

# Include <stdio. h>

# Include <Io. h>

Int file_exists (char * filename );

Int main (void)

{

Printf ("Does notexist. fil exist: % s/n ",

File_exists ("notexists. fil ")? "Yes": "no ");

Return 0;

}

Int file_exists (char * filename)

{

Return (access (filename, 0) = 0 );

}

 

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.