Привет, я немного растерялся.Моя программа использует TCP для передачи сообщений по сети.Что, на мой взгляд, не имеет отношения к моему вопросу.
std::stringstream tmp(buf);
if (tmp.str().find("\r\n") == std::string::npos ) {
std::cout << " doesnt have ending char" << std::endl;
}else{
std::cout << " position of ending char " << tmp.str().find("\r\n") << std::endl;
}
, когда сообщение читается из клиента, оно передается в поток строки.Затем я пытаюсь найти escape-символ, к сожалению, string.find ("\ r \ n") всегда возвращает длину строки, даже если "\ r \ n" не содержится в буфере.
Iя использую
telnet
для проверки, возможно ли, что такое поведение вызвано telnet?
Это вывод моего терминала:
Connected to localhost.
Escape character is '^]'.
200 LOGIN
asdadsgdgsd
и вывод программы:
3001 PORT NUM
sent message: asdadsgdgsd END
position of ending char 11