Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2955 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Commande Access

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Commande Access

n°1231161
laurent_31
Posté le 25-10-2005 à 23:56:16  profilanswer
 

Bonsoir,
 
Voilà, je dois utiliser la fonction access pour tester les droits en écriture sur un fichier. Tout va bien si je ne cherche pas à coder la capture de l'erreur, par contre si j'essaye, mon compilo
me jete comme un mal propre...
Si quelqu'un peut me dire comment on récupére le code erreur le la commande access en cas d'échec, ce serait super  :)  
 
voilà, j'ai tapé ça :
 

Code :
  1. if(access(fic,W_OK)==0) printf("\nAccès en écriture sur %s OK\n",fic);
  2. else {
  3.         printf("\nAccès en écriture refusé sur %s :\n",fic);
  4.         switch(errno) {
  5.             case EACCES                    : break;
  6.             case ELOOP                     : break;
  7.             case ENAMETOOLONG              : break;
  8.             case ENOENT                    : break;
  9.             case ENOTDIR                   : break;
  10.             case EROFS                     : break;
  11.             case EFAULT                    : break;
  12.             case EINVAL                    : break;
  13.             case EIO                       : break;
  14.             case ENOMEM                    : break;
  15.             case ETXTBSY                   : break;
  16.             défault                        : break;
  17.         }
  18.     }


 
et le compilo me crache ça :
 
main.c:93: error: 'errno' undeclared (first use in this function)
main.c:93: error: (Each undeclared identifier is reported only once
main.c:93: error: for each function it appears in.)
main.c:94: error: 'EACCES' undeclared (first use in this function)
main.c:95: error: 'ELOOP' undeclared (first use in this function)
main.c:96: error: 'ENAMETOOLONG' undeclared (first use in this function)
main.c:97: error: 'ENOENT' undeclared (first use in this function)
main.c:98: error: 'ENOTDIR' undeclared (first use in this function)
main.c:99: error: 'EROFS' undeclared (first use in this function)
main.c:100: error: 'EFAULT' undeclared (first use in this function)
main.c:101: error: 'EINVAL' undeclared (first use in this function)
main.c:102: error: 'EIO' undeclared (first use in this function)
main.c:103: error: 'ENOMEM' undeclared (first use in this function)
main.c:104: error: 'ETXTBSY' undeclared (first use in this function)
 
Pourtant sur le man 2 access :

Citation :

VALEUR RENVOYÃE
       L'appel   renvoie   0   s'il   réussit   (toutes  les  requêtes  sont
       autorisées), ou -1 s'il échoue (au moins une  requête  du  mode  est
       interdite), auquel cas errno contient le code d'erreur.


 
Voili, voilà et merci d'avance
 
Laurent.

mood
Publicité
Posté le 25-10-2005 à 23:56:16  profilanswer
 

n°1231167
olivthill
Posté le 26-10-2005 à 00:09:13  profilanswer
 

Avec Borland, errno est défini dans errno.h et access dans io.h, donc il ne faut pas oublier :

#include <errno.h>
#include <io.h>
extern int errno;


Message édité par olivthill le 26-10-2005 à 00:12:46
n°1231169
laurent_31
Posté le 26-10-2005 à 00:15:22  profilanswer
 

Merci pour ta réponse Olivthill, je viens d'essayer, la librairie n'est pas connue de mon système :(
Par contre, grace à toi, j'ai fait un man sur errno et .... Yep, il faut la lib <errno.h>.
 
Merci encore à toi

n°1231170
laurent_31
Posté le 26-10-2005 à 00:16:30  profilanswer
 

Désolé, je n'avais pas vu ton msg en entier :)
Ca marche, c'est super !

n°1234701
Emmanuel D​elahaye
C is a sharp tool
Posté le 31-10-2005 à 04:43:07  profilanswer
 

laurent_31 a écrit :

Merci pour ta réponse Olivthill, je viens d'essayer, la librairie n'est pas connue de mon système :(
Par contre, grace à toi, j'ai fait un man sur errno et .... Yep, il faut la lib <errno.h>.


Merci de cesser de confondre bibliothèque (implémentatoin) et fichier d'entête (interface)
 
http://mapage.noos.fr/emdel/notes.htm#pointeurs


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Commande Access

 

Sujets relatifs
Changer la couleur de tous les boutons de commande d'un projet Access[access - VB] problème commande
Commande/Lgne de commande sous Accessla commande FORMAT d'access n'existe plus en SQL
[Access 2002] commande distinctVBA : commande saveas d'un doc word depuis une appli access
[VB Sous Access] commande INSERT INTO help-access- un bouton de commande intelligent
[PERL] Liste des tables dans Access.... SQL commande ?[Access 97] SQL et ligne de commande
Plus de sujets relatifs à : Commande Access


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR