2012-04-19 20 views
0

我在檢查程序是否檢查.ini文件是否爲空或包含網頁路徑時遇到了一些問題。C++(不使用MFC)檢查ini讀取值是否爲空

我的.ini文件:

[WEB] 
Location = 

以下是我的代碼。它不會輸入if語句並顯示對話框:

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); 
     } 

對此問題的任何幫助將不勝感激。

Registers -Dan。

回答

2

if條件是不正確,使用strcmp()比較char陣列:

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

此:

if (webLocation == "1"){ 

webLocation的地址與字符串字面"1",地址總是會是false(在這種情況下)。

請注意,部分名稱WEB與調用GetPrivateProfileStringA()時指定的不匹配。

+0

啊,解釋它。這現在工作完美。感謝您提供快速,翔實的回覆。 – L337BEAN 2012-04-19 10:01:59