1
我有一個套接字,並從客戶端讀取一個字符串,然後搜索文本文件進行匹配。C++比較不起作用2緩衝區之間的字符串
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");
所以基本上,resultlist是包含字符串變量的載體,我想比較一下,看它是否匹配,然後顯示下一個變量。但是,我的比較總是失敗。
有人可以幫忙嗎?
我試着將緩衝區傳遞給readFile進行比較,但它也不起作用。即使我在我的函數中將緩衝區轉換爲字符串後。 –
那麼'printf(「這裏是消息:%s \ n」,緩衝區);'在控制檯上顯示? – WhozCraig
如果客戶端鍵入「3g」,則顯示「這是消息:3g」。 –