2

我想在 C 中的 ldap 命令 ldap_search_s 中使用一个变量。我使用 strcat 创建了我需要的字符串。错误是“错误的搜索过滤器”。我很确定这与我创建的字符串有关。这是我的代码:

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 )
4

1 回答 1

3

我没有尝试过,但是在查看文档之后,我怀疑您不应该在过滤器中包含双引号:

char *var1="(studentID=";
char *var2= numero;
char *var3= ")";
于 2011-04-06T20:16:40.077 回答