您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ CreateDirectoryW函数代码示例

51自学网 2021-06-01 20:14:21
  C++
这篇教程C++ CreateDirectoryW函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中CreateDirectoryW函数的典型用法代码示例。如果您正苦于以下问题:C++ CreateDirectoryW函数的具体用法?C++ CreateDirectoryW怎么用?C++ CreateDirectoryW使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了CreateDirectoryW函数的27个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: win_CreateDir

static int win_CreateDir(lua_State *L){	BOOL result, opt_tolerant, opt_original;	const wchar_t* path = check_utf8_string(L, 1, NULL);	const char* flags = "";	if (lua_type(L,2) == LUA_TSTRING)		flags = lua_tostring(L,2);	else if (lua_toboolean(L,2))		flags = "t";	opt_tolerant = strchr(flags,'t') != NULL;	opt_original = strchr(flags,'o') != NULL;	if(dir_exist(path))	{		if (opt_tolerant) return lua_pushboolean(L,1), 1;		return lua_pushnil(L), lua_pushliteral(L, "directory already exists"), 2;	}	result = opt_original ? CreateDirectoryW(path,NULL) : mkdir(path);	if(result)		return lua_pushboolean(L, 1), 1;	return SysErrorReturn(L);}
开发者ID:FarGroup,项目名称:FarManager,代码行数:27,


示例2: fix_path

Error DirAccessWindows::make_dir(String p_dir) {	GLOBAL_LOCK_FUNCTION	p_dir = fix_path(p_dir);	if (p_dir.is_rel_path())		p_dir = current_dir.plus_file(p_dir);	p_dir = p_dir.replace("/", "//");	bool success;	int err;	p_dir = "////?//" + p_dir; //done according to	// https://msdn.microsoft.com/en-us/library/windows/desktop/aa363855(v=vs.85).aspx	success = CreateDirectoryW(p_dir.c_str(), NULL);	err = GetLastError();	if (success) {		return OK;	};	if (err == ERROR_ALREADY_EXISTS || err == ERROR_ACCESS_DENIED) {		return ERR_ALREADY_EXISTS;	};	return ERR_CANT_CREATE;}
开发者ID:brakhane,项目名称:godot,代码行数:29,


示例3: __lib_CreateDirectoryW

BOOL __lib_CreateDirectoryW( LPCWSTR lpPathName,                             LPSECURITY_ATTRIBUTES lpSecurityAttributes )/***********************************************************************/{    if( WIN32_IS_NT ) {                                 /* NT */        return( CreateDirectoryW( lpPathName, lpSecurityAttributes ) );    } else {                                            /* Win95 or Win32s */        char *          mbPathName;        BOOL            osrc;        size_t          cvt;        size_t          len;        /*** Allocate some memory ***/        len = wcslen( lpPathName ) * MB_CUR_MAX + 1;        mbPathName = lib_malloc( len );        if( mbPathName == NULL ) {            return( FALSE );        }        /*** Prepare to call the OS ***/        cvt = wcstombs( mbPathName, lpPathName, len );        if( cvt == (size_t)-1 ) {            lib_free( mbPathName );            return( FALSE );        }        /*** Call the OS ***/        osrc = CreateDirectoryA( mbPathName, lpSecurityAttributes );        lib_free( mbPathName );        return( osrc );    }}
开发者ID:ArmstrongJ,项目名称:open-watcom-v2,代码行数:32,


示例4: ServiceUpdate

bool ServiceUpdate(bool validService){	if (validService)	{		ServiceInstaller si;		if (si.run() != 0)			return false;	}	else	{		std::wstring appPath = UTIL::OS::getCommonProgramFilesPath();		if (!FolderExists(appPath.c_str()))			CreateDirectoryW(appPath.c_str(), NULL);		std::wstring newService = UTIL::OS::getCommonProgramFilesPath(L"desura_service.exe");		std::wstring curService = UTIL::OS::getCurrentDir(L"desura_service.exe");		char regname[255];		Safe::snprintf(regname, 255, "HKEY_LOCAL_MACHINE//SYSTEM//CurrentControlSet//Services//%s//ImagePath", SERVICE_NAME);		CopyFileW(curService.c_str(), newService.c_str(), FALSE);		UTIL::WIN::setRegValue(regname, gcString(newService).c_str());	}	return true;}
开发者ID:BlastarIndia,项目名称:Desurium,代码行数:28,


示例5: apxLogOpen

/* Open the log file  * TODO: format like standard apache error.log * Add the EventLogger */HANDLE apxLogOpen(    APXHANDLE hPool,    LPCWSTR szPath,    LPCWSTR szPrefix){    WCHAR sPath[MAX_PATH+1];    WCHAR sName[MAX_PATH+1];    SYSTEMTIME sysTime;    apx_logfile_st *h;    GetLocalTime(&sysTime);    if (!szPath) {        if (GetSystemDirectoryW(sPath, MAX_PATH) == 0)            return INVALID_HANDLE_VALUE;        lstrcatW(sPath, L"//LogFiles//");        if (!szPrefix)            lstrcatW(sPath, L"Apache");        else            lstrcatW(sPath, szPrefix);        wsprintfW(sName, L"//%04d%02d%02d.log",                  sysTime.wYear,                  sysTime.wMonth,                  sysTime.wDay);    }    else {        lstrcpyW(sPath, szPath);        if (szPrefix)            wsprintfW(sName, L"//%s", szPrefix);        else            wsprintfW(sName, L"//jakarta_service_%04d%02d%02d.log",                      sysTime.wYear,                      sysTime.wMonth,                      sysTime.wDay);    }    if (!(h = (apx_logfile_st *)apxPoolCalloc(hPool, sizeof(apx_logfile_st))))        return NULL;    /* Set default level to info */    h->dwLogLevel = APXLOG_LEVEL_INFO;    CreateDirectoryW(sPath, NULL);        h->sysTime = sysTime;    lstrcpyW(h->szPath, sPath);    lstrcatW(sPath, sName);    if (szPrefix)        lstrcpyW(h->szPrefix, szPrefix);    h->hFile =  CreateFileW(sPath,                      GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE,                      NULL,                      OPEN_ALWAYS,                      FILE_ATTRIBUTE_NORMAL | FILE_FLAG_WRITE_THROUGH,                      NULL);    /* Set this file as system log file */    if (!_st_sys_loghandle)        _st_sys_loghandle = h;    return (HANDLE)h;}
开发者ID:huotuinc,项目名称:COMMONS_DAEMON_2_0_6,代码行数:63,


示例6: THROW_LASTERROREXCEPTION1

    bool DirectoryInfo::CreateDirectoryA(LPCSTR dirName)    { WCHAR dirNameW[MAX_PATH];      if( NULL!=dirName )      { THROW_LASTERROREXCEPTION1( ::MultiByteToWideChar( CP_ACP, 0, dirName, -1,dirNameW, MAX_PATH) ); }      return dirName!=NULL ? CreateDirectoryW(dirNameW) : false;;    } // of DirectoryInfo::CreateDirectoryW()
开发者ID:BackupTheBerlios,项目名称:bvr20983,代码行数:8,


示例7: do_CreateDirectory

static int do_CreateDirectory(int argc, wchar_t **argv){    if (argc != 3)        fail("usage: CreateDirectory PathName 0");    BOOL r = CreateDirectoryW(argv[1], 0);    errprint(r);    return 0;}
开发者ID:nkzxw,项目名称:winfstest,代码行数:8,


示例8: XCECreateDirectoryW

BOOL XCEAPIXCECreateDirectoryW(const wchar_t *oldpath, LPSECURITY_ATTRIBUTES lpSec){  wchar_t newpath[MAX_PATH];  XCEFixPathW(oldpath, newpath);  return CreateDirectoryW(newpath, lpSec);}
开发者ID:bulk88,项目名称:celib,代码行数:8,


示例9: My_CreateDirectoryW

BOOL My_CreateDirectoryW(){	LPCWSTR lpPathName=NULL;	LPSECURITY_ATTRIBUTES lpSecurityAttributes=NULL;	BOOL returnVal_Real = NULL;	BOOL returnVal_Intercepted = NULL;	DWORD error_Real = 0;	DWORD error_Intercepted = 0;	disableInterception();	returnVal_Real = CreateDirectoryW (lpPathName,lpSecurityAttributes);	error_Real = GetLastError();	enableInterception();	returnVal_Intercepted = CreateDirectoryW (lpPathName,lpSecurityAttributes);	error_Intercepted = GetLastError();	return ((returnVal_Real == returnVal_Intercepted) && (error_Real == error_Intercepted));}
开发者ID:IFGHou,项目名称:Holodeck,代码行数:17,


示例10: CreateDirectoryW

UBOOL FFileManagerWindows::InternalMakeDirectory( const TCHAR* Path, UBOOL Tree ){	if( Tree )	{		return FFileManagerGeneric::MakeDirectory( Path, Tree );	}	return CreateDirectoryW(Path,NULL)!=0 || GetLastError()==ERROR_ALREADY_EXISTS;}
开发者ID:LiuKeHua,项目名称:colorful-engine,代码行数:8,


示例11: msi_create_directory

static BOOL msi_create_directory( MSIPACKAGE *package, const WCHAR *path ){    BOOL ret;    msi_disable_fs_redirection( package );    ret = CreateDirectoryW( path, NULL );    msi_revert_fs_redirection( package );    return ret;}
开发者ID:wine-mirror,项目名称:wine,代码行数:8,


示例12: mkdir_parent

static int mkdir_parent(const wchar_t *path) {  // Copy the path to a temporary buffer.  wchar_t buffer[4096];  size_t buflen = wcslen(path);  if (buflen + 1 >= _countof(buffer)) {    return 0;  }  wcscpy_s(buffer, _countof(buffer), path);  // Seek back to find the last path separator.  while (buflen-- > 0) {    if (buffer[buflen] == '/' || buffer[buflen] == '//') {      buffer[buflen] = 0;      break;    }  }  if (buflen == (size_t)-1 || buflen == 0) {    // There was no path separator, or this was the root directory.    return 0;  }  if (CreateDirectoryW(buffer, NULL) != 0) {    // Success!    return 1;  }  // Failed.  DWORD last_error = GetLastError();  if (last_error == ERROR_ALREADY_EXISTS) {    // Not really an error: the directory is already there.    return 1;  }  if (last_error == ERROR_PATH_NOT_FOUND) {    // We need to make the parent directory first.    if (mkdir_parent(buffer)) {      // Parent successfully created.  Try again to make the child.      if (CreateDirectoryW(buffer, NULL) != 0) {        // Got it!        return 1;      }    }  }  return 0;}
开发者ID:rdb,项目名称:panda3d,代码行数:45,


示例13: defined

// File IO /////////////////////////////////////////////////////Bool System::CreateDirectory( const GChar * strPathName ) const{#if ( defined(UNICODE) || defined (_UNICODE) )    BOOL bRes = CreateDirectoryW( strPathName, NULL );#else    BOOL bRes = CreateDirectoryA( strPathName, NULL );#endif    return ( bRes != FALSE );}
开发者ID:Shikifuyin,项目名称:Scarab-Engine,代码行数:10,


示例14: efile_make_dir

posix_errno_t efile_make_dir(const efile_path_t *path) {    ASSERT_PATH_FORMAT(path);    if(!CreateDirectoryW((WCHAR*)path->data, NULL)) {        return windows_to_posix_errno(GetLastError());    }    return 0;}
开发者ID:HansN,项目名称:otp,代码行数:9,


示例15: os_link_symbolic_junctions

bool os_link_symbolic_junctions(const std::wstring &target, const std::wstring &lname){	bool ret=false;	std::wstring wtarget=target;	HANDLE hJunc=INVALID_HANDLE_VALUE;	char *buf=NULL;	if(wtarget.find(os_file_prefix(L""))==0)		wtarget.erase(0, os_file_prefix(L"").size());	if(!wtarget.empty() && wtarget[0]!='//')		wtarget=L"//??//"+wtarget;	if(!wtarget.empty() && wtarget[target.size()-1]!='//')		wtarget+=L"//";	if(!CreateDirectoryW(lname.c_str(), NULL) )	{		goto cleanup;	}	hJunc=CreateFileW(lname.c_str(), GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_FLAG_OPEN_REPARSE_POINT|FILE_FLAG_BACKUP_SEMANTICS, NULL);	if(hJunc==INVALID_HANDLE_VALUE)		goto cleanup;	size_t bsize=sizeof(REPARSE_MOUNTPOINT_DATA_BUFFER) + (wtarget.size()+1) * sizeof(wchar_t)+30;	buf=new char[bsize];	memset(buf, 0, bsize);	REPARSE_MOUNTPOINT_DATA_BUFFER *rb=(REPARSE_MOUNTPOINT_DATA_BUFFER*)buf;	rb->ReparseTag=IO_REPARSE_TAG_MOUNT_POINT;	rb->ReparseTargetMaximumLength=(WORD)((wtarget.size()+1)*sizeof(wchar_t));	rb->ReparseTargetLength=rb->ReparseTargetMaximumLength-1*sizeof(wchar_t);	rb->ReparseDataLength=rb->ReparseTargetLength+12;	memcpy(rb->ReparseTarget, wtarget.c_str(), rb->ReparseTargetMaximumLength);	DWORD bytes_ret;	if(!DeviceIoControl(hJunc, FSCTL_SET_REPARSE_POINT, rb, rb->ReparseDataLength+REPARSE_MOUNTPOINT_HEADER_SIZE, NULL, 0, &bytes_ret, NULL) )	{		goto cleanup;	}	ret=true;cleanup:	if(!ret)	{		#ifndef OS_FUNC_NO_SERVER		Server->Log("Creating junction failed. Last error="+nconvert((int)GetLastError()), LL_ERROR);		#endif	}	delete []buf;	if(hJunc!=INVALID_HANDLE_VALUE)		CloseHandle(hJunc);	if(!ret)	{		RemoveDirectoryW(lname.c_str());	}	return ret;}
开发者ID:Averroes,项目名称:urbackup_backend,代码行数:57,


示例16: CreateDirectoryW

bool LogMgr::Initialize(){  CreateDirectoryW(L"Log", NULL);  for(int i = 0; i < LC_Max; i++) {    ahLog[i] = CreateFileA(aLogName[i], GENERIC_WRITE, FILE_SHARE_READ, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_ARCHIVE  , NULL);  }    //fopen_s(&afpLog[i], aLogName[i], "wt");  return true;}
开发者ID:artint-liu,项目名称:Marimo,代码行数:9,


示例17: AppendPathComponent

static void AppendPathComponent(std::wstring& value, const wchar_t* component){	value += component;	if (GetFileAttributes(value.c_str()) == INVALID_FILE_ATTRIBUTES)	{		CreateDirectoryW(value.c_str(), nullptr);	}}
开发者ID:ghost30812,项目名称:client,代码行数:9,


示例18: _wmkdir

int_wmkdir(const wchar_t *dirname){	if(!CreateDirectoryW(dirname, NULL)) {		errno = GetLastError();		return -1;	}	return 0;}
开发者ID:FullMentalPanic,项目名称:RTEMS_NEW_TOOL_CHAIN,代码行数:9,


示例19: file_mkdir

int file_mkdir(const char *dir){    wchar_t wdir[MAX_PATH];    MultiByteToWideChar(CP_UTF8, 0, dir, -1, wdir, MAX_PATH);    if (!CreateDirectoryW(wdir, NULL))        return -1;    return 0;}
开发者ID:Paxxi,项目名称:libbluray,代码行数:9,


示例20: win_mkdir

CAMLprim value win_mkdir(value path, value wpath){  CAMLparam2(path, wpath);  if (!CreateDirectoryW((LPWSTR)String_val(wpath), NULL)) {    win32_maperr (GetLastError ());    uerror("mkdir", path);  }  CAMLreturn (Val_unit);}
开发者ID:Phylliade,项目名称:Unison,代码行数:9,


示例21: RTDECL

RTDECL(int) RTDirCreate(const char *pszPath, RTFMODE fMode, uint32_t fCreate){    /*     * Validate the file mode.     */    int rc;    fMode = rtFsModeNormalize(fMode, pszPath, 0);    if (rtFsModeIsValidPermissions(fMode))    {        /*         * Convert to UTF-16.         */        PRTUTF16 pwszString;        rc = RTStrToUtf16(pszPath, &pwszString);        AssertRC(rc);        if (RT_SUCCESS(rc))        {            /*             * Create the directory.             */            if (CreateDirectoryW((LPCWSTR)pwszString, NULL))                rc = VINF_SUCCESS;            else                rc = RTErrConvertFromWin32(GetLastError());            /*             * Turn off indexing of directory through Windows Indexing Service             */            /** @todo This FILE_ATTRIBUTE_NOT_CONTENT_INDEXED hack (for .VDI files,             *        really) may cause failures on samba shares.  That really sweet and             *        need to be addressed differently.  We shouldn't be doing this             *        unless the caller actually asks for it, must less returning failure,             *        for crying out loud!  This is only important a couple of places in             *        main, if important is the right way to put it... */            if (   RT_SUCCESS(rc)                && !(fCreate & RTDIRCREATE_FLAGS_NOT_CONTENT_INDEXED_DONT_SET))            {                if (   SetFileAttributesW((LPCWSTR)pwszString, FILE_ATTRIBUTE_NOT_CONTENT_INDEXED)                    || (fCreate & RTDIRCREATE_FLAGS_NOT_CONTENT_INDEXED_NOT_CRITICAL) )                    rc = VINF_SUCCESS;                else                    rc = RTErrConvertFromWin32(GetLastError());            }            RTUtf16Free(pwszString);        }    }    else    {        AssertMsgFailed(("Invalid file mode! %RTfmode/n", fMode));        rc = VERR_INVALID_FMODE;    }    LogFlow(("RTDirCreate(%p:{%s}, %RTfmode): returns %Rrc/n", pszPath, pszPath, fMode, rc));    return rc;}
开发者ID:sobomax,项目名称:virtualbox_64bit_edd,代码行数:56,


示例22: __PHYSFS_platformMkDir

int __PHYSFS_platformMkDir(const char *path){	WCHAR *wpath;	DWORD rc;	UTF8_TO_UNICODE_STACK_MACRO(wpath, path);	rc = CreateDirectoryW(wpath, NULL);	__PHYSFS_smallFree(wpath);	BAIL_IF_MACRO(rc == 0, errcodeFromWinApi(), 0);	return 1;} /* __PHYSFS_platformMkDir */
开发者ID:CaF2,项目名称:hw,代码行数:10,


示例23: while

// create sub directoriesvoid MetaLauncher::createMenuDirs(wchar_t *menuPath){    wchar_t *p;    p = menuPath;    while ((p = wcschr(p + 1, L'//')) != NULL) {        *p = L'/0';        CreateDirectoryW(menuPath, NULL);        *p = L'//';    }}
开发者ID:tmbx,项目名称:vnc,代码行数:11,


示例24: _mkdir

int _mkdir(const char* dir){	static wchar_t wdir[MAX_PATH];	BOOL rc;//	wchar_t* wdir = wce_AToW(dir);	wce_AToW2(dir, wdir);	rc = CreateDirectoryW(wdir, NULL);	return rc==0 ? -1 : 0 ;}
开发者ID:vadimG2015i,项目名称:Cplus,代码行数:11,


示例25: CreateTempDir

static VOIDCreateTempDir(    IN LPCWSTR VarName){    WCHAR szTempDir[MAX_PATH];    WCHAR szBuffer[MAX_PATH];    DWORD dwLength;    HKEY hKey;    if (RegOpenKeyExW(HKEY_LOCAL_MACHINE,                     L"SYSTEM//CurrentControlSet//Control//Session Manager//Environment",                     0,                     KEY_QUERY_VALUE,                     &hKey) != ERROR_SUCCESS)    {        FatalError("Error: %lu/n", GetLastError());        return;    }    /* Get temp dir */    dwLength = MAX_PATH * sizeof(WCHAR);    if (RegQueryValueExW(hKey,                        VarName,                        NULL,                        NULL,                        (LPBYTE)szBuffer,                        &dwLength) != ERROR_SUCCESS)    {        FatalError("Error: %lu/n", GetLastError());        goto cleanup;    }    /* Expand it */    if (!ExpandEnvironmentStringsW(szBuffer,                                  szTempDir,                                  MAX_PATH))    {        FatalError("Error: %lu/n", GetLastError());        goto cleanup;    }    /* Create profiles directory */    if (!CreateDirectoryW(szTempDir, NULL))    {        if (GetLastError() != ERROR_ALREADY_EXISTS)        {            FatalError("Error: %lu/n", GetLastError());            goto cleanup;        }    }cleanup:    RegCloseKey(hKey);}
开发者ID:hoangduit,项目名称:reactos,代码行数:54,


示例26: PathAppendW

	bool CLoggingImp::InitLogging()	{		if (!SHGetSpecialFolderPathW(0, m_wszLogDir, CSIDL_APPDATA, TRUE))		{			return false;		}		PathAppendW(m_wszLogDir, L"Logging");		if (!CreateDirectoryW(m_wszLogDir, 0) && 			GetLastError() != ERROR_ALREADY_EXISTS)		{			return false;		}		CleanOldLog();		wchar_t wszBaseName[MAX_PATH] = {0};		if (!GetModuleFileNameW(0, wszBaseName, MAX_PATH))		{			return false;		}		PathRemoveExtensionW(wszBaseName);		PathStripPathW(wszBaseName);		wchar_t wszLogFile[MAX_PATH] = {0};		HRESULT hr = StringCchPrintfW(wszLogFile, MAX_PATH, L"%s//%s_PID%d_%d.log", 			m_wszLogDir, wszBaseName, GetCurrentProcessId(), GetTickCount());		if (FAILED(hr))		{			return false;		}		//create file		std::locale loc("");		m_logwfstream.imbue(loc);		m_logwfstream.open(wszLogFile, std::ios_base::out);	//TODO: what mode?		if (!m_logwfstream)		{			return false;		}		//initialize critical section		bool bOk = true;		try		{			InitializeCriticalSection(&m_csWriteFile);		}		catch (...)		{			bOk = false;			m_logwfstream.close();		}				m_logwfstream << L"/t/tIF ANY ERROR OCCURRED, "			L"PLS CONTACT ME: [email
C++ CreateDumpString函数代码示例
C++ CreateDirectoryA函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。