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,