何生成一个 WinCE 下文件全路径大于 MAX_PATH(260) 字节的文件路径?
2016-02-19 14:51
357 查看
大家都知道,在 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 做为文件名全路径最大值的程序产生越界访问的情况出现,导致程序出现异常。
相关文章推荐
- MySQL模糊查询,按关键词匹配度排序
- CentOS常用的文件操作命令总结
- Python学习之路(1)--python运行三种方式
- tab选择效果SelectedTab
- UITabbarController基本应用
- Eclipse常用快捷键
- svn版本库包含多个项目 ; git svn clone; 某一个子项目,有多个分支;
- win10系统中百度卫士做任务不加金币了怎么办?
- 【完全跨域】异步上传文件并获得返回值
- 使用C#配合ArcGIS Engine进行地理信息系统开发
- Java 遍历文件夹的几种方式及简单性能对比
- 深入理解HTTP Session
- python+selenium实现登录账户后自动点击
- hadoop 0.20.2 cdh3u6 运行单节点任务卡死,但不报错,问题分析。
- intellj idea 如何设置类头注释和方法注释
- java向linux的kafka发送消息 并接收消息实例
- WM_COPYATA 与 PostMessage/SendMessage;const 的变量通过指针修改后?;指针与数组名。
- java.lang.ClassCastException: org.apache.shiro.web.servlet.ShiroHttpServletRequest cannot be cast to
- android 图片缩放后划屏拖动图片与Viewpager切换Item冲突(拖动图片的事件相应被屏蔽)问题解决
- zoj3626 Treasure Hunt I(树型dp+分组背包)