疑问1,在stdlib.h中有如下定义
#define _MAX_PATH 260
#define _MAX_FNAME 256
#define _MAX_EXT 256
#define _MAX_DRIVE 3
#define _MAX_DIR 256
但是很多程序中用的都是MAX_APTH,即没有前面的下划线,怎么解释?疑问2,
Windows系统中路径名总长度真的就不会超过260吗?这是否实际上限定了文件夹的深度呢?
#define _MAX_PATH 260
#define _MAX_FNAME 256
#define _MAX_EXT 256
#define _MAX_DRIVE 3
#define _MAX_DIR 256
但是很多程序中用的都是MAX_APTH,即没有前面的下划线,怎么解释?疑问2,
Windows系统中路径名总长度真的就不会超过260吗?这是否实际上限定了文件夹的深度呢?
对于问题2:
其路径长度有可能超过260,按如下方法
新建目录a,进入目录a,在目录a下建一个文件,其文件名长度,直到不能输入为止。反加上一级目录,将a的目录名修改为很长(可以成功,这应该是Windows系统的bug),这样上面说的那个文件的路径长度已经超过260了,但操作系统也无法打开它了。
是限制了文件夹的深度。
truemann说“在vc等环境中MAX_PATH等也被宏定义了”,我怎么就找不到呢,就是没找到才疑惑啊。
你的代碼就可以用MAX_PATH了