您的位置:首页 > 编程语言 > C语言/C++

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

2016-07-14 14:57 253 查看
尝试创建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个字节留给文件名和扩展名使用。

收藏于 2009-12-01
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  windows xp C语言