[C++] récupérer nom du fichier temporaire : mkstemp()

Répondre
diablo
le 29/03/2007 à 17:16
diablo
Bonjour tout le monde !

Je programme actuellement un soft en C++ qui utilise les fichier temporaires. Pour générer le nom du fichier j'avais utilisé la fontion tempnam

Mais apparemment gcc ne l'aime pas trop :
warning: the use of `tempnam' is dangerous, better use `mkstemp'

Donc je me suis résolu à utiliser mkstemp

Le problème c'est que dans la suite de mon code, j'ai besoin d'uliser le fichier, il ma faut donc son nom, que je récupérais avec tempnam mais qui me pose un peu plus de problème avec mkstemp.

Donc voila je voudrais savoir s'il je pouvais récupérer le nom du fichier après sa création.

Merci
.:[ UTB ]:. Diablo xo0 Au royaume des aveugles, les bornes sont rois...
LupusMic
le 29/03/2007 à 22:56
LupusMic
Extrait de la documentation :

La fonction mkstemp() engendre un nom de fichier temporaire unique, à partir du motif template. Les six derniers caractères de template doivent être XXXXXX et ils seront alors remplacés par une chaîne rendant ce nom de fichier unique.

Je crois que tu devines alors où chercher le nom du fichier ;) C'est subtil, j'ai mis un moment à trouver.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
diablo
le 30/03/2007 à 20:19
diablo
Le blem c'est que justement les XXXXXX sont remplacés par une string aléatoire ! C'est bien pour ça qu'ils disent "unique".

Mon problème est justement de retrouver par la suite ce nom de fichier généré.
.:[ UTB ]:. Diablo xo0 Au royaume des aveugles, les bornes sont rois...
diablo
le 30/03/2007 à 20:47
diablo
Comme il sera modifié, template ne doit pas être une chaîne constante, mais comme un tableau de caractères.


Naha je viens de comprendre !! Le char* template est modifié par la fonction et contient donc les nom du fichier !

Mais quel low je suis non mais vraiment ^^
.:[ UTB ]:. Diablo xo0 Au royaume des aveugles, les bornes sont rois...
LupusMic
le 02/04/2007 à 19:24
LupusMic
J'avais eu peur de ne pas avoir été suffisamment explicite ;)

C'est souvent le cas en C. Lorsqu'un argument est un pointeur passé non-constant la valeur pointé est modifiée par la fonction.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
diablo
le 03/04/2007 à 19:59
diablo
kk j'men souviendrais ;)
.:[ UTB ]:. Diablo xo0 Au royaume des aveugles, les bornes sont rois...
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours