attractivechaos / klib

A standalone and lightweight C library
http://attractivechaos.github.io/klib/
MIT License
4.18k stars 556 forks source link

Question: Can i use (khash) KHASH_SET_INIT_INT64() for negative values for key . Because i saw in khash header file its using unsigned long int please help me. #172

Open SSUAMKIETT opened 1 year ago

SSUAMKIETT commented 1 year ago

include

include

include

include "klib/khash.h"

KHASH_SET_INIT_INT64(bin_value)

int counter = 1; int main() { khash_t(bin_value) bin_value_pointer = kh_init(bin_value); FILE file = fopen("read.txt", "r"); char line[20]; while(fgets(line, sizeof(line), file)) { int64_t value; int ret; if(sscanf(line, "%ld", &value) == 1) { kh_put(bin_value, bin_value_pointer, value, &ret); } } fclose(file);

FILE* file1 = fopen("check.txt", "r");
while(fgets(line, sizeof(line), file1)) {
    int64_t input;
    int ret;
    if(sscanf(line, "%ld", &input) == 1) {
       if(kh_get(bin_value, bin_value_pointer, input) != kh_end(bin_value_pointer)) {
            printf("matched counter= %d\n", counter++);
        }
    }
}

kh_destroy(bin_value, bin_value_pointer);
fclose(file1);
return 0;

}

i am implement hashSet i wanted to know can i use this for negative value for key please help i am new to the C.