关于hash_map和字符串的问题。
我要做的是自然语言处理,目前要做的是将分好的词建立成词典。
因此,需要循环读取分好的词,然后将其加入哈希表中。
测试代码如下:
char* text="黎明黄昏清晨傍晚";
char buf[10];
for(int index=0;index<=12;){
memset(buf, 0, 10);
memcpy(buf,(void *)(text+index), sizeof(char)*4);
mymap[buf]=index;
index+=4;
}
我所预期的结果是哈希表中有如下四个二元组:
(黎明,0)(黄昏,4)(清晨,8)(傍晚,12)
但最后的结果只有
(傍晚,12)
跟踪发现,哈希表一直只有一项,其内容随着buf的变化而变化。
如(黎明,0)->(黄昏,0)->(黄昏,4)等等
我有尝试delete和free()等操作,结果依然如此。
希望大大们帮小的看看是什么问题?感激不尽!卡了有些时间了,有点着急。