大家晚上好,我正在用C++編寫一個庫管理應用程序,使用虛擬工作室2012.我已經用Dev C++編寫了一些代碼,但是當我切換到visual studio它會給出錯誤。它涉及創建文件夾並檢查文件夾是否實際創建。這是使用dir和mkdir。用cual製作windows目錄2012編碼
0
A
回答
0
非常感謝球員,但我發現這是解決我的問題
#include <iostream>
#include <direct.h>
#include <stdlib.h>
#include <stdio.h>
using namespace std;
void main(void)
{
if(_mkdir("\\testtmp") == 0)
{
printf("Directory '\\testtmp' was successfully created\n");
system("dir \\testtmp");
if(_rmdir("\\testtmp") == 0)
printf("Directory '\\testtmp' was successfully removed\n" );
else
printf("Problem removing directory '\\testtmp'\n");
}
else
printf("Problem creating directory '\\testtmp'\n");
int a;
cin >> a;
}
的CIN >>一個;只是保持輸出屏幕,所以我可以看到結果
2
對於大多數文件系統功能,Windows和Linux(POSIX)不支持相同的API。您可以使用微軟特定於平臺的API,如CreateDirectory()
或使用類似POSIX的版本,如_mkdir()
。
如果你有一個更新的C++編譯器/標準庫,你可以使用定製成爲標準C++的一部分的experimental filesystem library,或許早於C++ 17。如果沒有,您可以使用Boost.Filesystem從中繪製預標準實驗庫。
下面是使用Boost.Filesystem的,這將在Windows和Linux的工作,而無需修改一個完整的,最小的例子:
#include <iostream>
#include <boost/filesystem.hpp>
namespace fs = boost::filesystem;
int main()
{
if(!fs::exists("my_dir"))
{
if(fs::create_directory("my_dir"))
{
std::cout << "Directory created!\n";
}
}
}
看到它運行:Coliru。
這裏是相同的代碼,但是與std::experimental::filesystem
:Coliru。
您需要在構建系統中設置相應的包含和鏈接器路徑,以使其中的任何一個在本地工作。使用文件系統的最大「陷阱」是默認情況下會拋出大量錯誤的異常。您可以在適當的位置設置try
/catch
塊,或者傳入錯誤代碼參數以使其返回狀態。
0
#include <stdio.h>
#include <windows.h>
int main() {
if (!CreateDirectoryA("C:\\ABC123", NULL))
{
if (GetLastError() == ERROR_ALREADY_EXISTS)
{
printf("Already Exists");
}else if (GetLastError()== ERROR_PATH_NOT_FOUND)
{
printf("Path not found");
}
}else{
printf("Created..");
}
}
簡單的功能會做。
相關問題
- 1. Windows 2012 Server字符編碼問題
- 2. 在SAS中製作目錄(Windows)
- 3. 使用Visual Studio 2012的編譯器爲Windows XP製作Qt應用程序
- 4. 修復用戶目錄的所有權Windows 2012 R2
- 5. DFS複製Windows 2012修改
- 6. 在linux和windows中製作目錄的常用路徑
- 7. 製作(編程)在Windows XP
- 8. 使用Google Chrome編碼的UI錄製
- 9. /windows目錄/ proc目錄
- 10. 如何自動或以編程方式登錄到Windows Server 2012
- 11. Windows Media編碼器爲WinRT錄製屏幕
- 12. 允許Windows Server 2012 R2訪問AIX 7.1上的目錄
- 13. 如何從iOS訪問活動目錄(Windows Server 2012 R2)?
- 14. C#HttpClient FormUrlEncodedContent編碼(VS 2012)
- 15. 用GCC編譯Visual Studio 2012項目
- 16. 顛覆:如何使用Windows資料庫在debian-webserver上製作工作目錄?
- 17. 在PHP中製作目錄
- 18. 在php中製作目錄
- 19. 複製的代碼段2012
- 20. 從Linux到Windows目錄複製
- 21. ctime,mtime,控制目錄,windows,linux
- 22. 如何基於固定的HTML代碼自動構建/編譯/製作目錄?
- 23. 如何在Windows目標C中編碼?
- 24. 如何用webpack製作圖片目錄和子目錄。
- 25. 用於密碼保護目錄的錄製登錄
- 26. 在Windows中從批處理文件製作多個目錄
- 27. 如何使用pdfmake製作目錄?
- 28. 用c程序製作一個目錄
- 29. nginx目錄ip限制不起作用
- 30. 使用libcurl製作新的目錄
好的。謝謝你們,我會嘗試使用這兩種方法,看看哪種方法最適合我,我會讓你們知道它是怎麼回事。再次感謝。 – Maxfurry
請在郵件旁邊減號是什麼 – Maxfurry
這意味着有人沒有想到這是一個很好的問題,因爲某些原因,我們習慣在評論中說明原因,但並不是必需的, – metal