尝试创建windows XP最长的路径名

尝试创建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个字节留给文件名和扩展名使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值