Jeudi 27 janvier , j’ai demandé sur le MATLAB newsgroup comment on pouvait retrouver le nom d’un fichier en connaissant juste son fid (file identifier)
Je m’explique. Imaginons vous ouvrez un fichier en écriture:
fid =fopen(fullfile(matlabroot,’matlabgeek.txt’),’w+’)
Comment faire en connaissant juste la variable fid pour retrouver le nom du fichier , c’est à dire matlabgeek.txt.
Au début on m’a proposé la solution suivante:
>> filename =System.IO.DirectoryInfo(fopen(fid)).FullName
filename =
C:\MATLAB\SOF\r2010b\matlabgeek.txt
Paie ta commande de Geek!!
Seul hic, c’est que ça en marchera que sur Windows . Donc cette solution ne m’intéressait pas.
Et en plus apparemment il faut avoir .NET installé ….
Finalement c’est Loren Shure qui m’a proposé une solution toute simple et cross-platefrome, c’est de refaire un fopen sur le fid ! :
>>filename =fopen(fid)
filename =
C:\MATLAB\SOF\r2010b\matlabgeek.txt
Voilà , je voulais partager ça avec vous, aucun de mes collègues ne connaissait ce trick.
A noter que nul part dans la doc de fopen on trouve cette astuce.
Ce MATLAB trick avec fopen fonctionne dans toutes les releases MATLAB … même en R12SP1 !