我想用Visual Studio的64位編譯器在C++中讀取ini文件,而GetPrivateProfileString()
不適用於64位編譯器,它只適用於Win32。 除了使用GetPrivateProfileString()
之外,還有什麼方法可以讀取這種文件?使用64位編譯器在C++中讀取ini文件
回答
我還不能評論,所以我回答。
GetPrivateProfileString()
在任何平臺,Win32和x64以及任何字符集UNICODE或MBCS上適用於Visual Studio 2015。
仔細檢查您的代碼,或發佈它,讓我們可以看看。
GetPrivateProfileString()
不適用於64位編譯器它只適用於Win32。
這是絕對不正確的。幾乎所有Win32函數的所有都可以使用64位版本,並且GetPrivateProfileString
也不例外。如果你無法使它工作,那麼你寫的代碼是錯誤的。不幸的是,你沒有顯示該代碼,所以我們不能告訴你如何解決它。
請確保在嘗試調用此函數時將完全限定路徑傳遞給文件!相對路徑不會產生預期的效果。
但是,您應該不會使用GetPrivateProfileString
。作爲the documentation說:
注意此功能僅用於16位的基於Windows的應用程序兼容。應用程序應該在註冊表中存儲初始化信息
INI文件有時仍然是一個合理的選擇,例如。,作爲您不想修改註冊表的「便攜」應用程序的設置文件 - 但您仍然不應使用Windows API函數讀取和寫入這些文件。它們非常陳舊,直接從16位Windows移植過來,並且出於向後兼容的原因包含許多意外的行爲。他們也很慢,並提供非常有限的功能。
雖然有很多選擇,我個人的建議是SimpleINI library。這是跨平臺的,使用C++標準庫,並已在MIT許可證下發布。只需將其放入並開始使用即可。我運作良好;我在我的一個MFC應用程序中使用它。
You could also use Boost讀取INI文件。
我忘了包括
- 1. 64位C++編譯器
- 2. 在Visual C++ 2015中使用64位編譯器
- 3. 如何在64位機器上將64位C++程序編譯?
- 4. 使用adodb讀取64位Windows 7中的excel文件的C++?
- 5. 如何讀取C++中的ini文件?
- 6. 使用MinGW編譯64位二進制文件(Dev-C++)
- 7. 64位編譯器爲wxDev-C++
- 8. 爲Win 8(64位)C++編譯器
- 9. 從INI文件中讀取
- 10. 在64位機器上編譯32位matlab應用程序(C++)
- 11. 使用Apache Ant讀取ini文件
- 12. 使用ConfigParser讀取從ini文件
- 13. 使用Nini/.NET讀取INI文件
- 14. 如何使用VBScript讀取ini文件?
- 15. 使用Office 2003在64位電腦中讀取excel文件
- 16. 如何在Windows 10 64位上使用mingw編譯opencv_ffmpeg.dll文件?
- 17. UNIX C - 編譯64位中斷「dirname」
- 18. 如何在Linux中讀取INI文件
- 19. 從C++中的.ini讀取
- 20. QSettings - 讀取INI文件
- 21. 編譯OpenBUGS 64位
- 22. 使用MSBuild讀取和編輯.ini文件
- 23. 使用ini文件讀取和編輯列表
- 24. 在Visual C中編輯Ini文件#
- 25. 用C++編譯器編譯C99文件
- 26. C2664:在64位編譯時
- 27. 從文件夾使用流讀取器讀取文件在c#
- 28. TypeScript編譯器:錯誤讀取文件
- 29. 使用gcc進行c編程的編譯錯誤64位
- 30. 我如何編譯C使用cmd.exe,在Windows 7的64位
MSDN:「此功能僅用於兼容16位基於Windows的應用程序,應用程序應將初始化信息存儲在註冊表中。」您現在可能需要第三方庫來讀取ini文件。 –
你知道嗎? – Rabieh
@Rabieh詢問第三方資源在這裏是_offf-topic_。 –