我的代碼在C++中,我要口在Java中的一部分:移植GetModuleFileName在Java中
GetModuleFileName(AfxGetInstanceHandle(),strPath.GetBuffer(MAX_PATH),MAX_PATH - 1);
strPath.ReleaseBuffer();
我真的不知道如何去了解這一點。我在C++方面沒有太多經驗,特別是在windows函數方面。什麼我試圖創建業務邏輯是這樣的:
我們要創建或編輯HTML文件並將其保存爲:
strPath+"CaseRerorts.htm"
代碼的C++方面的用途:
ofstream ofile(strPath, ios::trunc|ios::app, filebuf::sh_read);
然後在ofile
上寫東西。
如果存在htm文件,則使用新文件覆蓋它。我想我將不得不使用OutputStream和PrinstStream。然而,主要問題是我不知道如何讓strPath與代碼的C++版本中的strPath相同。有任何想法嗎?謝謝。
GetModuleFileName(AfxGetInstanceHandle(),...)只是返回當前可執行文件的標準路徑名。然後在同一個目錄中打開/創建osream(順便說一下,我不確定這是一個好主意,因爲路徑是exes存儲在原則上應該爲標準用戶進行復制保護)。 – Christophe
您應該擁有看看這個現有的答案:http://stackoverflow.com/a/7603444/3723423然後這個工具類:http://docs.oracle.com/javase/tutorial/essential/io/pathOps.html。但我強烈建議不要將該文件放在應用程序目錄中,而是放在用戶目錄或配置變量定義的目錄中。 – Christophe