Bonjour,
Je crois que tout est dans le titre. Je cherche à récupérer à partir d'un objet FILE le nom du fichier. Existe-t-il une fonction me permettant de faire cela ?
Merci d'avance.
Bonjour,
Je crois que tout est dans le titre. Je cherche à récupérer à partir d'un objet FILE le nom du fichier. Existe-t-il une fonction me permettant de faire cela ?
Merci d'avance.
Non, il n'y en a pas en standard.
Et sous Windows, il faut utiliser cette fonction, qui nécessite Vista ou une DLL "redistribuable".
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Merci pour la réponse. Comme je suis sous linux, je vais me débrouiller autrement.
La commande stat() peut aider.
Je pense que FILE est une structure, et qui contiendrai le nom. Mais j'en suis pas sur à 100%.
Faut voir dans les fichiers des includes ... mais j'ai pas trouvé ... :s
Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi
Ma page sur DVP
Mon Portfolio
Qui connaît l'erreur, connaît la solution.
Salut,
les 3 pointeurs _ptr _base et _tmpfname ne pointent pas sur le nom et ne sont pas initialisés par fopen. Je n'ai aucune idée de leur rôle.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 typedef struct _iobuf { char* _ptr; int _cnt; char* _base; int _flag; int _file; int _charbuf; int _bufsiz; char* _tmpfname; } FILE;
Un objet FILE étant créé par fopen, tu connais forcément le nom du fichier.
A+
Pfeuh
Raymond
Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi
Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
e-verbe Un logiciel de conjugaison des verbes de la langue française.
Ma page personnelle sur DVP.
Ceci étant dit, il y a un sérieux problème de conception et d'algo si tu en viens à avoir besoin du nom de fichier et qu'il ne t'es pas fourni avec le FILE*...
Mac LAK.
___________________________________________________
Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.
Sources et composants Delphi sur mon site, L'antre du Lak.
Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.
Rejoignez-nous sur : ► Serveur de fichiers [NAS] ► Le Tableau de bord projets ► Le groupe de travail ICMO
FILE étant une structure opaque, il te faut garder un pointeur sur le nom de ton fichier, pas le choix et je rejoint Mac LAK, tu as un petit problème de conception si tu en arrive là
La fonction où tu veux utiliser ce nom, tu lui ajoutes un argument qui pointe sur le nom de ton fichier !
Mon Site
Ma bibliothèque de gestion des chaînes de caractères en C
L'imagination est plus importante que le savoir. A. Einstein
Je ne répond à aucune question technique par MP, merci d'avance !
Tu peux toujours récupérer grâce à fstat() :
le st_dev ainsi que le st_ino et parcourir toute l'arborescence de la partition pour retrouver un fichier ayant le même st_ino et le même st_dev, bien entendu tu peux en trouver plusieurs ou aucun !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 struct stat { dev_t st_dev; /* ID of device containing file */ ino_t st_ino; /* inode number */ mode_t st_mode; /* protection */ nlink_t st_nlink; /* number of hard links */ uid_t st_uid; /* user ID of owner */ gid_t st_gid; /* group ID of owner */ dev_t st_rdev; /* device ID (if special file) */ off_t st_size; /* total size, in bytes */ blksize_t st_blksize; /* blocksize for file system I/O */ blkcnt_t st_blocks; /* number of 512B blocks allocated */ time_t st_atime; /* time of last access */ time_t st_mtime; /* time of last modification */ time_t st_ctime; /* time of last status change */ };
garder le nom du fichier lors de son ouverture est bien plus simple et rapide.
To start press any key. (reading screen) Where's the "any" key? I see Esc, Catarl, and Pig Up. There doesn't seem to be any "any" key. Wo! All this computer hacking is making me thirsty. I think I'll order a Tab. (presses TAB key). -- HOMER --
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager