Langage C: l'utilisation de la fonction d'accès

C Language Use Access Function




1. La fonction access () permet de déterminer si l'utilisateur a l'autorisation d'accéder à un fichier (ou de déterminer si un fichier existe).


Deuxièmement, il faut inclure #include



Trois, paramètres et valeurs de retour



accès int (const char * chemin, mode int)
Paramètre:
chemin: indique le chemin du fichier à tester
mode: indique que les valeurs possibles du mode test sont:
R_OK: avez-vous l'autorisation de lecture
W_OK: s'il faut avoir l'autorisation d'écriture
X_OK: At-il des autorisations exécutables?
F_OK: Le fichier existe-t-il?
Valeur de retour: si le test réussit, renvoie 0, sinon renvoie -1



Quatre, test réel

1. Test du code c

#include #include #include /* The access() function is used to determine whether the user has permission to access a file (or to determine whether a file exists). int access(const char *pathname,int mode) Parameters: pathname: indicates the path of the file to be tested mode: indicates that the possible values ​​of the test mode are: R_OK: Do you have read permission W_OK: Do you have write permission X_OK: Does it have executable permissions F_OK: Does the file exist Return value: If the test is successful, return 0, otherwise return -1 */ int main(int argc,char *argv[]){ int rt_value if(argc<2){ printf('Usage:%s filename ',argv[0]) exit(1) } rt_value=access(argv[1],R_OK) if(rt_value==0) printf('File:%s can read rt_value=%d ',argv[1],rt_value) else printf('File:%s can't read rt_value=%d ',argv[1],rt_value) rt_value=access(argv[1],W_OK) if(rt_value==0) printf('File:%s can write rt_value=%d ',argv[1],rt_value) else printf('File:%s can't write rt_value=%d ',argv[1],rt_value) rt_value=access(argv[1],X_OK) if(rt_value==0) printf('File:%s can execute rt_value=%d ',argv[1],rt_value) else printf('File:%s can't execute rt_value=%d ',argv[1],rt_value) rt_value=access(argv[1],F_OK) if(rt_value==0) printf('File:%s exist rt_value=%d ',argv[1],rt_value) else printf('File:%s not exist rt_value=%d ',argv[1],rt_value) return 0 }

2. Compilez et exécutez