Sponsored Content
Full Discussion: to judge a file
Top Forums Programming to judge a file Post 82158 by jim mcnamara on Monday 29th of August 2005 09:32:48 AM
Old 08-29-2005
fopen will return a NULL.

stat() also works. The advantage of stat() is that you get information about how you are allowed to open the file - ie., do you have access?. stat will not return an error if you have execute access to the directory, but no read access to the file. fopen will return an error.
 

We Also Found This Discussion For You

1. Shell Programming and Scripting

how to judge wether a url is valid or not using awk

rt 3ks:confused: (6 Replies)
Discussion started by: rainboisterous
6 Replies
Tcl_Access(3)						      Tcl Library Procedures						     Tcl_Access(3)

__________________________________________________________________________________________________________________________________________________

NAME
Tcl_Access, Tcl_Stat - check file permissions and other attributes SYNOPSIS
#include <tcl.h> int Tcl_Access(path, mode) int Tcl_Stat(path, statPtr) ARGUMENTS
char *path (in) Native name of the file to check the attributes of. int mode (in) Mask consisting of one or more of R_OK, W_OK, X_OK and F_OK. R_OK, W_OK and X_OK request checking whether the file exists and has read, write and execute permissions, respectively. F_OK just requests checking for the existence of the file. struct stat *statPtr (out) The structure that contains the result. _________________________________________________________________ DESCRIPTION
As of Tcl 8.4, the object-based APIs Tcl_FSAccess and Tcl_FSStat should be used in preference to Tcl_Access and Tcl_Stat, wherever possi- ble. There are two reasons for calling Tcl_Access and Tcl_Stat rather than calling system level functions access and stat directly. First, the Windows implementation of both functions fixes some bugs in the system level calls. Second, both Tcl_Access and Tcl_Stat (as well as Tcl_OpenFileChannelProc) hook into a linked list of functions. This allows the possibility to reroute file access to alternative media or access methods. Tcl_Access checks whether the process would be allowed to read, write or test for existence of the file (or other file system object) whose name is pathname. If pathname is a symbolic link on Unix, then permissions of the file referred by this symbolic link are tested. On success (all requested permissions granted), zero is returned. On error (at least one bit in mode asked for a permission that is denied, or some other error occurred), -1 is returned. Tcl_Stat fills the stat structure statPtr with information about the specified file. You do not need any access rights to the file to get this information but you need search rights to all directories named in the path leading to the file. The stat structure includes info regarding device, inode (always 0 on Windows), privilege mode, nlink (always 1 on Windows), user id (always 0 on Windows), group id (always 0 on Windows), rdev (same as device on Windows), size, last access time, last modification time, and creation time. If path exists, Tcl_Stat returns 0 and the stat structure is filled with data. Otherwise, -1 is returned, and no stat info is given. KEYWORDS
stat, access Tcl 8.1 Tcl_Access(3)
All times are GMT -4. The time now is 02:55 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy