如何取消Windows API中的最大路径长度限制

本文介绍了Windows API中路径最大长度为260个字符的限制,导致长路径文件操作失败的问题。通过一个实例展示了当文件路径超过限制时,打开文件会失败。文章详细说明了如何在Windows 10 1607及以上版本中取消这个限制,包括修改注册表、创建manifest文件以及添加相应内容到程序中,最终成功打开超长路径文件。
摘要由CSDN通过智能技术生成

Windows API 的路径最大长度限制

在 Windows API 中,路径的最大长度为 MAX _ PATH, 定义为 260 个字符,如下:

// C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\minwindef.h
#define MAX_PATH          260

当我们定义的文件长度长于这个限制时,目录或者文件管理相关的windows API调用会失败,比如我们将数据文件放到比较深的目录中时,我们使用fopen打开文件就会失败。

一个打开文件失败的实例

我们在本地创建了两个文件,目录较浅的ConsoleApplication1.cpp和目录很深的loooooooooooooooooooooooooooooooooooog.txt,路径长度分别为91和266,后者超过了MAX_PATH的大小,我们通过以下程序进行打开的实验。

//

#include <stdio.h>
#include <string.h>


int main()
{
   
   const char filename[] = "C:\\Users\\30990\\source\\repos\\ConsoleApplication1\\ConsoleApplication1\\ConsoleApplication1.cpp";
   FILE* fp = fopen(filename,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值