Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

Re: How to stat a file with a Unicode (UTF16-LE) filename in Windows?

by ikegami (Pope)
on Feb 06, 2009 at 05:57 UTC ( #741805=note: print w/ replies, xml ) Need Help??


in reply to How to stat a file with a Unicode (UTF16-LE) filename in Windows?

In chat, you said Win32API::File's CreateFileW + OsFHandleOpen didn't work. ("I have used Win32API::File, but it does not support converting the file handle for wide calls to Perl equivalents.") I downvoted for not showing what you tried because it does work.

use strict; use warnings; use Encode qw( encode ); use File::stat qw( stat ); use Symbol qw( gensym ); use Win32API::File qw( CreateFileW OsFHandleOpen GENERIC_READ FILE_SHARE_READ OPEN_EXISTING ); { # The file name consists of a black heart (U+2665). my $fn = encode('UCS-2le', "\x{2665}"); my $handle = CreateFileW( $fn, GENERIC_READ, FILE_SHARE_READ, [], OPEN_EXISTING, 0, [] ) or die("CreateFile: $^E\n"); my $fh = gensym(); OsFHandleOpen($fh, $handle, "r") or die("OsFHandleOpen: $!\n"); my $stat = stat($fh); print("atime: ", scalar(localtime($stat->atime())), "\n"); print("mtime: ", scalar(localtime($stat->mtime())), "\n"); print("ctime: ", scalar(localtime($stat->ctime())), "\n"); }
atime: Fri Feb 6 00:44:39 2009 mtime: Fri Feb 6 00:44:39 2009 ctime: Fri Feb 6 00:44:39 2009


Comment on Re: How to stat a file with a Unicode (UTF16-LE) filename in Windows?
Select or Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://741805]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (5)
As of 2014-08-02 08:09 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Who would be the most fun to work for?















    Results (55 votes), past polls