使用64编译器在C 中读取INI文件
Read ini file in C++ using 64 compiler
我想使用Visual Studio的64位编译器在C 中读取INI文件,而GetPrivateProfileString()
对于64位编译器不起作用,它仅适用于Win32。除了使用GetPrivateProfileString()
??
GetPrivateProfileString()
适用于64位编译器,它仅适用于Win32。
这绝对是不正确的。Win32函数的几乎所有所有均以64位版本的形式获得,并且GetPrivateProfileString
也不例外。如果您无法使其正常工作,那么您编写的代码是错误的。不幸的是,您没有显示该代码,所以我们无法告诉您如何修复它。
尝试调用此功能时,请确保您将完全符合条件的路径传递给文件!相对路径不会具有所需的效果。
但是,无论如何您可能不应该使用GetPrivateProfileString
。正如文档所说:
Note 此功能仅用于与基于16位Windows的应用程序的兼容性。应用程序应将初始化信息存储在注册表中。
ini文件有时仍然是一个合理的选择 - 例如,例如您不想修改注册表的"便携式"应用程序的设置文件,但是您仍然不应使用Windows Get/SetPrivateProfile*
API函数读写这些文件。它们非常旧,直接从16位窗户移植,并且出于向后兼容的原因包含许多意外行为。它们也很慢,并且提供非常有限的功能。
尽管有很多替代方案,但我的个人建议将是Simpleini库。这是跨平台,使用C 标准库,并根据MIT许可发布。只需将其放入并开始使用它即可。我效果很好;我在我的MFC应用程序之一中使用它。
您也可以使用Boost读取INI文件。
我还不能发表评论,所以我要回答。
GetPrivateProfileString()
在任何平台,Win32以及X64以及任何Charset Unicode或MBC上都可以在Visual Studio 2015下完美地工作。
仔细检查您的代码,或发布它,以便我们可以查看。
- 理解boost::asio-async_read在无需读取内容时的行为
- 尝试从C++中的 ini 文件读取
- 如何完整读取 INI 文件
- 使用64编译器在C 中读取INI文件
- c++ GetPrivateProfileString 从当前目录读取 ini 文件
- MFC SDI在更改属性时从INI读取并更新视图字符串
- 读取 ini 文件C++错误
- 从ini文件中读取十六进制字符
- 如何在读取 ini 文件时使用扩展字符集?(C++郎)
- 用 c++ 读取 INI 文件
- 如果 INI 文件中的行长度大于 n C++,则跳过读取该行
- C++ ( 没有 MFC ) 检查 ini 读取值是否为空
- 从具有重复项的INI文件中读取
- 当INI文件不存在时,使用Boost属性树读取INI文件
- 视觉 如何在C++中读取 ini 文件
- Q设置-正在读取INI文件
- 在c++/MFC中读取一个键并从.ini文件中获取该节
- QSettings:如何从INI文件中读取数组
- 无法使用boost::program_options读取INI文件解析
- 非 unicode 程序的语言会更改 ini 读取