文件管理 - Ring3创建目录
Posted 生如逆旅 一苇以航
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件管理 - Ring3创建目录相关的知识,希望对你有一定的参考价值。
1 //多字符集 2 3 #include "stdafx.h" 4 #include <Windows.h> 5 #include <iostream> 6 7 using namespace std; 8 9 BOOL MakeSureDirectoryPathExists(char* DirectoryFullPath); 10 11 int main() 12 { 13 char* DirectoryFullPath = "E:\\这个是我们自己创建的多层目录\\DemoSucess\\";//要在最后加上那个双斜杠,否则无法创建最后一层 14 MakeSureDirectoryPathExists(DirectoryFullPath); 15 return 0; 16 } 17 18 BOOL MakeSureDirectoryPathExists(char* DirectoryFullPath) 19 { 20 char* Travel = NULL; 21 char* BufferData = NULL; 22 DWORD DirectoryAttributes; 23 24 BufferData = (char*)malloc(sizeof(char)*(strlen(DirectoryFullPath) + 1)); 25 26 if (BufferData == NULL) 27 { 28 return FALSE; 29 } 30 31 strcpy(BufferData, DirectoryFullPath); 32 33 Travel = BufferData; 34 35 36 if (*(Travel + 1) == ‘:‘) 37 { 38 Travel++; 39 Travel++; 40 if (*Travel && (*Travel == ‘\\‘)) 41 { 42 Travel++; 43 } 44 } 45 while (*Travel) //D:\Hello\\World\Shit\0 46 { 47 if (*Travel == ‘\\‘) 48 { 49 *Travel = ‘\0‘; 50 DirectoryAttributes = GetFileAttributes(BufferData); //查看是否是否目录 目录存在吗//这里注意单双字使用多字符集 51 if (DirectoryAttributes == 0xffffffff) 52 { 53 if (!CreateDirectory(BufferData, NULL)) 54 { 55 if (GetLastError() != ERROR_ALREADY_EXISTS) 56 { 57 free(BufferData); 58 return FALSE; 59 } 60 } 61 } 62 else 63 { 64 if ((DirectoryAttributes & FILE_ATTRIBUTE_DIRECTORY) != FILE_ATTRIBUTE_DIRECTORY) 65 { 66 free(BufferData); 67 BufferData = NULL; 68 return FALSE; 69 } 70 } 71 72 *Travel = ‘\\‘; 73 } 74 75 Travel = CharNext(Travel); 76 } 77 78 cout << "创建多层目录成功!" << endl; 79 return TRUE; 80 }
以上是关于文件管理 - Ring3创建目录的主要内容,如果未能解决你的问题,请参考以下文章
在Tomcat的安装目录下conf目录下的server.xml文件中增加一个xml代码片段,该代码片段中每个属性的含义与用途