attractivechaos / klib

A standalone and lightweight C library

Home Page:http://attractivechaos.github.io/klib/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

SSUAMKIETT opened this issue · comments

#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#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.