Windows &引用;TCHAR cFileName[MAX_PATH]"E;”MSDN库中的错误?

Windows &引用;TCHAR cFileName[MAX_PATH]"E;”MSDN库中的错误?,windows,winapi,msdn,Windows,Winapi,Msdn,cFileName 文件名 MAX\u PATH的值与\u MAX\u FNAME几乎相同,但在这种情况下使用第一个值会产生误导。不管怎么说,如果他们指的是带名称的完整路径,那么它应该是cFileName[MAX_path+\u MAX_FNAME]?使用最大路径的目的是什么?这里没有错误。在受长度限制的Windows API中,名称的最大长度(通常)MAX\u PATH。不管名称是完全指定的绝对路径、相对路径还是仅文件名,长度限制仍然是MAX\u path 很可能底层文件系统有不同的限制。本机

cFileName
文件名


MAX\u PATH
的值与
\u MAX\u FNAME
几乎相同,但在这种情况下使用第一个值会产生误导。不管怎么说,如果他们指的是带名称的完整路径,那么它应该是
cFileName[MAX_path+\u MAX_FNAME]?使用
最大路径的目的是什么?

这里没有错误。在受长度限制的Windows API中,名称的最大长度(通常)
MAX\u PATH
。不管名称是完全指定的绝对路径、相对路径还是仅文件名,长度限制仍然是
MAX\u path

很可能底层文件系统有不同的限制。本机文件系统限制可能小于260是完全合理的。但是如果API声明了260个字符的限制,那么这就是使用特定API时的限制


如果您认为MSDN库不正确,那么很容易检查。查看Windows头文件中的定义,并将其与MSDN库中给出的定义进行比较。您总是会发现MSDN库是准确的。

这里没有错误。在受长度限制的Windows API中,名称的最大长度(通常)
MAX\u PATH
。不管名称是完全指定的绝对路径、相对路径还是仅文件名,长度限制仍然是
MAX\u path

很可能底层文件系统有不同的限制。本机文件系统限制可能小于260是完全合理的。但是如果API声明了260个字符的限制,那么这就是使用特定API时的限制


如果您认为MSDN库不正确,那么很容易检查。查看Windows头文件中的定义,并将其与MSDN库中给出的定义进行比较。您总是会发现MSDN库是准确的。

MAX_PATH
常量表示整个路径的最大长度,包括文件名和扩展名。它是一个相对路径、一个完全限定的路径,甚至只是一个文件名,都无关紧要;它们都具有相同的最大长度

因此,您永远不会看到
MAX\u PATH+\u MAX\u FNAME
,因为这将超过路径允许的最大长度

在中,您将找到您想要了解的有关Win32中路径的几乎所有信息。请注意,一些API(通常在文档中显式调用)接受长路径名,并用特殊前缀表示,不受
MAX\u path
的限制


在这种情况下,函数签名是正确的。不过,有时,文档中会附带MSDN上的一些示例代码片段,这些示例代码的范围从奇怪的风格到令人憎恶的风格。在尝试修改您找到的示例代码时,使用良好的健康常识总是值得的

常量
MAX_PATH
表示整个路径的最大长度,包括文件名和扩展名。它是一个相对路径、一个完全限定的路径,甚至只是一个文件名,都无关紧要;它们都具有相同的最大长度

因此,您永远不会看到
MAX\u PATH+\u MAX\u FNAME
,因为这将超过路径允许的最大长度

在中,您将找到您想要了解的有关Win32中路径的几乎所有信息。请注意,一些API(通常在文档中显式调用)接受长路径名,并用特殊前缀表示,不受
MAX\u path
的限制


在这种情况下,函数签名是正确的。不过,有时,文档中会附带MSDN上的一些示例代码片段,这些示例代码的范围从奇怪的风格到令人憎恶的风格。在尝试修改您找到的示例代码时,使用良好的健康常识总是值得的

MAX\u PATH
\u MAX\u FNAME
不同<代码>最大路径
为260,
最大路径
为256。
最大路径
最大路径
不同<代码>最大路径为260,
最大名称为256。