demo.cpp
运行环境:Windows 11
IDE:VS Code
编译器:minGW
#undef UNICODE
#include <iostream>
#include <Windows.h>
void MakeDirs(char *path);
int main()
{
char dirPath[260] = "C:\\Users\\Administrator\\Desktop\\AAA\\BB\\CC\\DD\\EE\\FF\\GG\\HH\\JJ\\KK\\mm\\bb\\vvv\\vv\\v\\v\\v\\v\\v\\v\\v\\test.txt"; //路径
MakeDirs(dirPath); //调用函数
std::cout << "执行结束" << std::endl;
system("pause");
return 0;
}
void MakeDirs(char *path)
{
int len; //保存文件名的长度
int pathLen; //保存路径的长度
pathLen = strlen(path); //计算路径实际长度
len = strlen(strrchr(path, '\\')); //计算文件名 例 \test.txt 的长度
path[pathLen - len] = '\0'; //将文件名与路径分开
char *temp = NULL; //strcat_s()必要的参数,实际未使用到。它返回的的是分割后递减的路径:--> Users\Administrator\Desktop\...\HH\JJ\KK --> Administrator\Desktop\....\HH\JJ\KK
char *token = strtok_s(path, "\\", &temp); //将路