Как использовать переменную в команде LDAP в C? - PullRequest
2 голосов
/ 07 апреля 2011

Я хотел бы использовать переменную в команде ldap ldap_search_s на C. Я использовал 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 )

1 Ответ

3 голосов
/ 07 апреля 2011

Я не пробовал, но после просмотра документации, я подозреваю, что вы не должны включать в фильтр двойные кавычки:

char *var1="(studentID=";
char *var2= numero;
char *var3= ")";
...