尝试创建windows XP最长的文件夹
文章出处:DIY部落(http://www.diybl.com/course/3_program/c++/cppjs/2008114/96490.html)
/*
* 标题:创建windows XP最长的文件夹
* 作者:李英江
* 日期:2008年1月13日
* 网站:http://www.cgsir.com
*/
周日突发奇想,想看看windows XP到底支持多长的文件路径,以前都是使用MAX_PATH来分配路径字符数
,现在专门写个程序来试验一下.
测试结果如下:
// 创建windows XP最长的文件路径,共247个字节
D:\1234567890\1234567890\1234567890\1234567890\1234567890\1234567890\1234567890
\1234567890\1234567890\1234567890\1234567890\1234567890\1234567890\1234567890
\1234567890\1234567890\1234567890\1234567890\1234567890\1234567890\1234567890
\1234567890\12
// 文件夹内允许最长的文件名"1234567.txt"或"新建 文本文档.txt"
// 247(文件路径字节数) + 12(斜杠和文件名字节数) = 259字节,加上一个字符串结束符的话,
// 正好是VC中include\WINDEF.H 中定义的常量 #define MAX_PATH 260 //路径最大字符
数
// 因此在程序中须要申明文件路径字符串长度时,最好使用常量MAX_PATH
// 测试源码
// 作者:李英江
// 2008.1.13
#include <direct.h>
void CTestPathDlg::OnButton1()
{
char szFilePath[300] = "d:\\1234567890"; // char szFilePath[MAX_PATH];
const int c = 22; // 循环创建文件夹次数
for(int i=0; i<c; i++)
{
if(_mkdir(szFilePath) == -1)
{
MessageBox("不能创建路径");
}
else
{
if(i != c-1)
{
strcat(szFilePath, "");
}
}
}
// 再次创建
strcat(szFilePath, "");
if(_mkdir(szFilePath) == -1)
{
MessageBox("不能创建路径");
}
int len = strlen(szFilePath);
char strBuf[20] = {0};
sprintf(strBuf,"文件目录的最大字符数:%d", len);
MessageBox(strBuf);
}
// 总结: 最长的文件夹长度为247个字节,最后11个字节留给文件名和扩展名使用。