日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CreateDirectory GetCurrentDirectory 和SetCurrentDirectory

發布時間:2025/3/21 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CreateDirectory GetCurrentDirectory 和SetCurrentDirectory 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • CreateDirectory
    • 函數功能
    • 函數聲明
    • 第一個參數(第一種情況絕對路徑)
    • 第一個參數(第二種情況當前目錄)
    • 第二個參數
    • 返回值
    • 注意:
    • 代碼實現
    • 絕對路徑
    • 當前目錄
    • GetCurrentDirectory
    • 函數功能
    • 函數聲明
    • 第一個參數
    • 第二個參數
    • 返回值
    • 代碼實現
    • SetCurrentDirectory
    • 函數功能
    • 函數聲明
    • 第一個參數:
    • 返回值:
    • 注意:
    • 代碼實現
    • `CreateDirectory`和`SetCurrentDirectory`相結合使用(打了一套組合拳):實現代碼下:

CreateDirectory

函數功能

創建一個新目錄

函數聲明

BOOL CreateDirectory(LPCTSTR lpPathName,LPSECURITY_ATTRIBUTES lpSecurityAttributes);

第一個參數(第一種情況絕對路徑)

lpNewDirectory String,新目錄的名字。舉例:LPCSTR str = "c:\\TEST"

第一個參數(第二種情況當前目錄)

lpNewDirectory String,新目錄的名字。舉例:LPCSTR str = "TEST"

第二個參數

lpSecurityAttributes SECURITY_ATTRIBUTES,這個結構定義了目錄的安全特性——如果操作系統支持的話,安全屬性,一般設置為NULL即可

返回值

Long,如果正確創建,返回值為1,如果沒有正常創建文件夾,則返回0。會設置GetLastError

注意:

特別的:該函數每次調用時都只能創建一級文件夾,即文件夾中不能再包含子文件夾

當希望創建含有子文件夾的文件夾時,可以先使用該函數創建一級文件夾,然后再使用該函數在一級文件夾下創建子文件夾。如:

希望創建:d:\\TEST\\temp

則:

LPCSTR str = "c:\\TEST";CreateDirectory(str, NULL);LPCSTR std = "c:\\TEST\\temp";CreateDirectory(std, NULL);

代碼實現

絕對路徑

LPTSTR szDirPath = LPTSTR("c:\\dog");if (!CreateDirectory(szDirPath, NULL)) {LPCSTR a = "創建失敗";LPCSTR b = "再接再厲";MessageBox(NULL,a,b,MB_OK);return 0;}LPCSTR a = "創建成功";LPCSTR b = "厲害";MessageBox(NULL, a, b, MB_OK);LPCSTR str = "c:\\TEST";CreateDirectory(str, NULL);LPCSTR std = "c:\\TEST\\temp";CreateDirectory(std, NULL);

當前目錄

LPCSTR str1 = "TEST";CreateDirectory(str1, NULL);if (!CreateDirectory(szDirPath, NULL)) {LPCSTR a = "創建失敗";LPCSTR b = "再接再厲";MessageBox(NULL, a, b, MB_OK);return 0;}LPCSTR a = "在當前目錄創建成功";LPCSTR b = "厲害";MessageBox(NULL, a, b, MB_OK);




GetCurrentDirectory

函數功能

在一個緩沖區中裝載當前目錄

函數聲明

因為此時我是用的是多字節字符集,所以 GetCurrentDirectory自動轉變為 GetCurrentDirectoryA

GetCurrentDirectoryA(_In_ DWORD nBufferLength,_Out_writes_to_opt_(nBufferLength,return + 1) LPSTR lpBuffer);

第一個參數

nBufferLength Long,lpBuffer緩沖區的長度

第二個參數

lpBuffer String,指定一個預定義字串,用于裝載當前目錄

返回值

Long,裝載到lpBuffer的字節數。如nBufferLength的長度不夠,不足以容納目錄,則返回值是必要的緩沖區長度(要求至少這個長度),其中包括空中止字符。零表示失敗。會設置GetLastError

代碼實現

TCHAR szCurrentDirectory[MAX_PATH];DWORD dwCurDirPathlen;dwCurDirPathlen=GetCurrentDirectory(MAX_PATH, szCurrentDirectory);printf("%d", dwCurDirPathlen);if (dwCurDirPathlen == 0) {LPCSTR a = "獲取當前目錄失敗";LPCSTR b = "再接再厲";MessageBox(NULL, a, b, MB_OK);return 0;}LPCSTR a = "獲取當前目錄成功";LPCSTR b = "厲害";MessageBox(NULL, szCurrentDirectory, b, MB_OK);

SetCurrentDirectory

函數功能

在開發軟件里,常常碰到要讀取當前目錄下的配置參數文件,或者打開當前目錄下別的程序來運行,那么就需要獲取當前進程的目錄位置,這就需要使用函數GetCurrentDirectory獲取當前進程所有在的目錄。同時也可以使用setcurrentdirectory函數來改變進程的當前目錄。

函數聲明

SetCurrentDirectoryA(_In_ LPCSTR lpPathName);

第一個參數:

LPCTSTR lpPathName程序的目錄設置到地址

返回值:

此函數的返回值類型為Long,非零表示成功,零表示失敗。會設置GetLastError

注意:

應用程序終止時,工作目錄被還原為其原始位置(從其開始進程的目錄)。

允許 path 參數指定相對或絕對路徑信息。 相對路徑信息被解釋為相對于當前工作目錄。 若要獲取當前工作目錄,請參見 GetCurrentDirectory。

尾隨空格從 path 參數的結尾。CONFIG 目錄中的已取消。

path 參數不區分大小寫。

如果您要將目錄設置為裝有可移動媒體的驅動器(例如對于軟盤驅動器,為“A:”,對于 CD-ROM 驅動器,為“E:”),則可以通過使用 IsReady 屬性確定該驅動器是否已就緒。

代碼實現

LPCSTR a = "c:\\";if (!SetCurrentDirectory(a)) {LPCSTR a = "設置當前目錄失敗";LPCSTR b = "再接再厲";MessageBox(NULL, a, b, MB_OK);}LPCSTR a1 = "設置當前目錄成功";LPCSTR b = "厲害";MessageBox(NULL, a1, b, MB_OK);

CreateDirectory和SetCurrentDirectory相結合使用(打了一套組合拳):實現代碼下:

LPCSTR CurrentDirectory = "c:\\";if (!SetCurrentDirectory(CurrentDirectory)) {LPCSTR a = "設置當前目錄失敗";LPCSTR b = "再接再厲";MessageBox(NULL, a, b, MB_OK);}LPCSTR CurrentDirectory1 = "設置當前目錄成功";LPCSTR CurrentDirectoryTable = "厲害";MessageBox(NULL, CurrentDirectory1, CurrentDirectoryTable, MB_OK);LPCSTR str1 = "TEST";if (!CreateDirectory(str1, NULL)) {LPCSTR a = "創建失敗";LPCSTR b = "再接再厲";MessageBox(NULL, a, b, MB_OK);return 0;}LPCSTR createDirectory = "在當前目錄創建成功";LPCSTR b = "厲害";MessageBox(NULL, createDirectory, b, MB_OK);


備注:
2021年堅持學寫博客第10天(學習兩個windows API) 尋夢SS

明日目標:
windows核心編程API函數

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的CreateDirectory GetCurrentDirectory 和SetCurrentDirectory的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。