C ++(不使用MFC)检查ini读取值是否为空

时间:2012-04-19 09:46:25

标签: c++ ini

我在程序检查.ini文件是否为空或包含网页路径时遇到了一些麻烦。

我的.ini文件:

[WEB]
Location =

以下是我的代码。它不会进入if语句并显示Dialogbox:

GetPrivateProfileStringA("WEBSERVICES", "Location", "none set", webLocation, sizeof(webLocation), pathStr);

    if (webLocation == "1"){
        DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
        EnableMenuItem(hmenu, ID_WEBSERVICES_RUN, MF_GRAYED);
        }

对此问题的任何帮助将不胜感激。

此致            -Dan。

1 个答案:

答案 0 :(得分:2)

if条件不正确,使用strcmp()来比较char数组:

if (0 == strcmp(webLocation, "1")){

此:

if (webLocation == "1"){

webLocation的地址与字符串文字"1"的地址进行比较,该地址始终为false(在这种情况下)。

请注意,部分名称WEBGetPrivateProfileStringA()的调用中指定的名称不匹配。