我有一个算法从套接字接收单词,然后检查字典文件是否拼写正确,并且我遇到了一些奇怪的行为。基本上,拼写检查器将正常工作,直到我输入一个单词,其大小(字符数)小于先前输入的最大单词的大小。例如: 伙计好的
可以
你好,
可以MISSPELLED。
它有时也会打印出一些看似随机的字符以及单词(当它表现出来时,而不是当它正常工作时),但我觉得这是由上述任何问题引起的是。 这是拼写检查的代码:
int i, ok;
char message[1024];
while((recv(socket, message, 1024, 0)) > 0){
for(i = 0; i < WORD_COUNT; i++){
if(strcasecmp(dict[i], message) == 0){
printf(" OK");
ok = 1;
break;
}
if(!ok)
printf(" MISSPELLED");
puts("");
}
谢谢!
答案 0 :(得分:1)
执行put(“”)之后;在while循环中,添加以下行:
memset(message, 0, sizeof(message));