基本上是Java String类的hashcode的C版
//vs/vc下需要引这个头
#include <BaseTsd.h>
INT32 getHashcode(const char* str)
{
INT32 h=0;
for(; '\0' != *str;)
{
h = 31*h + *(str++);
}
return h;
}
因为我用的vs下没有int32_t,所以用的INT32,效果是一样的。
gcc下int32_t 需要引入stdint.h
基本上是Java String类的hashcode的C版
//vs/vc下需要引这个头
#include <BaseTsd.h>
INT32 getHashcode(const char* str)
{
INT32 h=0;
for(; '\0' != *str;)
{
h = 31*h + *(str++);
}
return h;
}
因为我用的vs下没有int32_t,所以用的INT32,效果是一样的。
gcc下int32_t 需要引入stdint.h