Bu kodla ilgili bir sorunum var. Beklediğim cevabı alamıyorum. Bunu aradım ama hiçbir şey bulamıyorum. Hatamı bulamıyorum .. İşte g_hash_table_contains beklenmeyen değeri döndürür
benim kod benim girişteki g_hash_table# include <stdio.h>
# include <glib.h>
# include <stdlib.h>
GHashTable *hash = NULL;
int check_sth_blacklist(char *sth)
{
return g_hash_table_contains(hash,sth);
}
main()
{
hash = g_hash_table_new(g_str_hash,g_str_equal);
char *sth = (char*) malloc(32);
scanf("%s",sth);
g_hash_table_add(hash,sth);
scanf("%s",sth);
printf("%d\n",check_sth_blacklist(sth + sizeof(char)*2));
free(sth);
}
ile çalışıyor yazıyorum:
cde
abcde
Ben cde
dize g_hash_table için katacak düşünüyorum . sonra abcde
dizesinde cde
dize sorduğumda 0 değerini döndürür.
. Bunu neredeyse buldum. beynimi parlak yapmak için thx)) – merdan