2
我想在C中的ldap命令ldap_search_s中使用一個變量。我用strcat創建了我需要的字符串。錯誤是「錯誤的搜索過濾器」。我很確定它與我創建的字符串有關。這裏是我的代碼:如何在C中的LDAP命令中使用變量?
char *numero = randomID1() ;
char *var1="\"(studentID=";
char *var2= numero;
char *var3= ")\" ";
char var4[80];
strcpy (var4,var1);
strcat (var4, var2);
strcat (var4,var3);
char *attr[] = { "cn","sn","studentID", NULL };
ldap_search_s(ld, "dc=******,dc=fr",
LDAP_SCOPE_SUBTREE, var4, attr , 0 , &res)
這整件事情用's(n)printf' IMO看起來更好。 – Mat 2011-04-06 20:27:45
@Mat:我同意。儘管如此,我在回答問題時試圖嚴格按照問題回答這個問題,而不是試圖指出其他潛在問題(例如,更乾淨的代碼,可能的緩衝超限等)。 – 2011-04-06 20:33:50
非常感謝......它實際上有效 – Dyaz 2011-04-07 16:15:54