[英]Example for a block device on Windows
我正在Linux,macOS和Windows上使用Posix stat()
函数,并想在其他设备上尝试一下,以查看结果。 Windows上不存在对某些类型的支持,例如套接字和FIFO,但是我想至少检查一下块和字符设备。 我发现AUX
(以及其他类似的设备)是字符设备,但是默认情况下,我找不到Windows上可用的任何块设备。 有人可以举个例子吗?
Windows(不是POSIX操作系统)不支持stat
。 它具有类似的功能_stat
,它试图模拟该功能。
但是,即使Windows确实具有块设备的概念,Windows实现中也没有S_IFBLK
(块设备)标志。 如果查看stat.h
您将看到仅支持以下模式标志:
#define _S_IFMT 0xF000 // File type mask
#define _S_IFDIR 0x4000 // Directory
#define _S_IFCHR 0x2000 // Character special
#define _S_IFIFO 0x1000 // Pipe
#define _S_IFREG 0x8000 // Regular
#define _S_IREAD 0x0100 // Read permission, owner
#define _S_IWRITE 0x0080 // Write permission, owner
#define _S_IEXEC 0x0040 // Execute/search permission, owner
由此可以得出结论,您要问的是不可能的。
确实, _stat("C:")
因ENOENT
而失败, _stat("\\\\\\\\.\\\\C:")
因EINVAL
失败。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.