1

我有一个套接字,它从客户端读取字符串,然后在文本文件中搜索匹配项。

   vector<string> resultlist;
   int n;
   char* buffer = new char[256];

   bzero(buffer,256);
   n = read(sock,buffer,255);
   if (n < 0) error("ERROR reading from socket");
   printf("Here is the message: %s\n",buffer);
   readFile(buffer);
   string searchStr(buffer);
   for(int k=0; k<resultlist.size(); k++){
    if(resultlist[k].compare(searchStr)==0){ cout << resultlist[k+1] << endl; }
   }
   n = write(sock,"I got your message",18);
   if (n < 0) error("ERROR writing to socket"); 

所以基本上,结果列表是一个包含字符串变量的向量,我想比较它是否匹配,然后显示下一个变量。但是,我的比较总是失败。

有人可以帮忙吗?

4

1 回答 1

2

您从套接字获得的字符串很可能在末尾包含特殊字符,例如\ror \n。检查并清理它们。

于 2012-11-25T09:01:19.367 回答