c++ - 从 MFC 中的配置文件加载字符串

标签 c++ visual-c++ mfc configuration-files

我已经安装了 Postgres 数据库,我正在尝试从 C++ 代码 (VC++) 连接到它。我不想将硬编码值传递给连接函数(编辑:PQconnectdb?),而是编写一个配置文件并读取值并将其发送给连接函数.

我如何在 vc++ 中做到这一点?请帮助我。

CString Connect= _T("host=x.x.x.x port=5432 dbname=xxxxxx user=cdfvv password=hccjjj"); 

我不想像这样赋值,而是想写一个配置并处理它。

最佳答案

(我已经根据我对您实际想问的问题的最佳猜测编辑了您的问题。)

MFC 提供了 CWinApp::GetProfileStringCWinApp::SetProfileString方法,抽象配置以使用 ini 文件或注册表。如果您正在使用 MFC,您应该使用这些方法。

否则,在 Windows 上,请考虑使用 the win32 Registry APIs这是在 Windows 上存储应用程序配置的正常方式。

如果您愿意,也可以使用 XML 配置文件;见the manual for MSXML .

此外,还有许多第 3 方库用于解析和存储各种格式的配置文件,包括 .ini 样式。


我个人建议您不要使用 MFC,根据您对 CString 类的使用,我猜您正在使用 MFC (?)。 IMO MFC 已过时。如果您正在编写控制台应用程序,请使用纯 C++。如果您正在编写 GUI 应用程序,请考虑使用 Qt,或者使用 C# 和 WinForms 让您的生活更轻松。


(顺便说一句:我从未编写过 MFC 应用程序,因为我只从事跨平台应用程序的工作。我只是进行了一些 Google 搜索。)

关于c++ - 从 MFC 中的配置文件加载字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29467267/

相关文章:

c++ - 连续信号句柄

c++ - visual c++ 的 pthreads-w32 中的 new 和 delete 运算符是线程安全的吗?

c++ - boost 安装 : missing argument global-setup

c++ - 我如何知道用于与我的串行端口通信的十六进制?

c++ - OpenGL 链式平移/旋转

c++ - 如何在 Visual Studio 中调试库的发布版本

c# - 在 Windows 7 中从托管代码调用非托管代码时发生内存泄漏

c++ - 无法对 unordered_set 进行排序

c++ - Boost.Locale 和 isprint

c++ - WndProc() 没有收到我发送给它的消息