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