如何生成一个 WinCE 下文件全路径大于 MAX_PATH(260) 字节的文件路径?
2014-12-08 17:22
309 查看
大家都知道,在 Windows 系统中文件名的路径最大值是 MAX_PATH。例如:
Windows XP 系统,对文件名的长度进行测试:
(1) 在分区 E:\ 的根目录新建一个文件,其文件名最大长度为: 255。---全路径长度>>> 258
(2) 在分区 E:\ 子目录 Program Files\ 中新建一个文件,其文件名的最大长度为: 242。 ---全路径长度>>>259
在 WinCE 系统下,也有一定的限制。
另外,如果试图将在 E:\ 根目录新建的最大文件名长度的文件,是无法复制到子目录中的。复制时提示: 指定的文件名无效或太长。
如何会产生一个 WinCE 下文件全路径大于 MAX_PATH(260) 字节的文件路径呢?
其实这个问题很简单,想来大家都知道 USB 或 SD 设备在 Windows XP 等系统与在 WinCE 系统中被识别后的根目录是不会的。
在 Windows XP等桌面系统中,一般是根目录,如:F:\
在 Windows CE 系统中,SD 卡一般是如下的目录:\Storage Card 或 \Storage Card 2 或其它; USB 一般是如:\Hard Disk 的目录。
利用 Windows XP等系统与 WinCE 系统的不同,来完成生成一个 WinCE 下文件全路径大于 MAX_PATH(260) 字节的文件路径。
将在 Windows XP 系统的某个根目录中生成的最长文件名,复制到 SD/USB。然后将此 SD/USB 插入 WinCE 系统,此时刚才复制的长文件名的文件,其它文件的全路径将会大于 MAX_PATH(260)。
出现这种情况,可能会导致部分使用 MAX_PATH 做为文件名全路径最大值的程序产生越界访问的情况出现,导致程序出现异常。
Windows XP 系统,对文件名的长度进行测试:
(1) 在分区 E:\ 的根目录新建一个文件,其文件名最大长度为: 255。---全路径长度>>> 258
(2) 在分区 E:\ 子目录 Program Files\ 中新建一个文件,其文件名的最大长度为: 242。 ---全路径长度>>>259
在 WinCE 系统下,也有一定的限制。
另外,如果试图将在 E:\ 根目录新建的最大文件名长度的文件,是无法复制到子目录中的。复制时提示: 指定的文件名无效或太长。
如何会产生一个 WinCE 下文件全路径大于 MAX_PATH(260) 字节的文件路径呢?
其实这个问题很简单,想来大家都知道 USB 或 SD 设备在 Windows XP 等系统与在 WinCE 系统中被识别后的根目录是不会的。
在 Windows XP等桌面系统中,一般是根目录,如:F:\
在 Windows CE 系统中,SD 卡一般是如下的目录:\Storage Card 或 \Storage Card 2 或其它; USB 一般是如:\Hard Disk 的目录。
利用 Windows XP等系统与 WinCE 系统的不同,来完成生成一个 WinCE 下文件全路径大于 MAX_PATH(260) 字节的文件路径。
将在 Windows XP 系统的某个根目录中生成的最长文件名,复制到 SD/USB。然后将此 SD/USB 插入 WinCE 系统,此时刚才复制的长文件名的文件,其它文件的全路径将会大于 MAX_PATH(260)。
出现这种情况,可能会导致部分使用 MAX_PATH 做为文件名全路径最大值的程序产生越界访问的情况出现,导致程序出现异常。
相关文章推荐
- 何生成一个 WinCE 下文件全路径大于 MAX_PATH(260) 字节的文件路径?
- Windows - 你可以在Windows中做出一个全路径文件名(Fully Qualified File Name)长度超出MAX_PATH=260字节的文件
- Object-C 如何生成一个固定大小的File,文件存储到指定的路径下
- 在Windows Mobile和Wince(Windows Embedded CE)下进行Native C++开发,如何取出当前执行文件的路径和调用模块的路径
- 如何在wince下实现一个文件系统驱动
- 在js文件中如何获取basePath处理js路径问题
- 生成Excel直接以流或字节形式发给客户端,无需在服务生成一个实体文件。
- 用myeclipse如何将java程序生成一个.exe可运行文件?
- 如何每天备份,每天生成一个日期备份文件?(參考貼)
- 如何生成一个bmp文件
- 如何查询和修改Linux操作系统生成core dump文件的默认路径
- Bash:如何不用写脚本的情况下建立一个目录,然后在其中生成一组有规律的文件.
- 添加一个文件夹及一些文件如何使用git生成patch
- 【首发】LongPathTool 长路径文件删除工具,解决源路径太长,源文件名长度大于文件系统支持的长度问题
- [转]如何在batch文件中把当前的路径记录在一个变量里,并运用这个变量?
- vbox克隆文件的路径如何修改?默认它生成在C盘,怎么修改?
- (转)如何让一个动态链接库文件debug和release编译的时候生成不同的文件名
- C语言文件编写完成以后 如何生成一个exe.文件啊
- Jmeter如何把CSV文件的路径设置成一个变量,且变量的值是一个相对路径
- 用myeclipse如何将java程序生成一个.exe可运行文件?