gpt4 book ai didi

c++ string.find() 返回字符串的长度

转载 作者:行者123 更新时间:2023-11-28 04:29:24 25 4
gpt4 key购买 nike

嗨,我有点困惑。我的程序使用 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;
}

当从客户端读取消息时,它被推送到 stringstream。然后我试图找到转义字符,不幸的是 string.find("\r\n") 总是返回字符串的长度,即使 buf 中不包含“\r\n”。

我正在使用

telnet

测试一下,这个行为有没有可能是telnet引起的?

这是我终端的输出:

Connected to localhost.
Escape character is '^]'.
200 LOGIN
asdadsgdgsd

这是程序的输出:

3001 PORT NUM 
sent message: asdadsgdgsd END
position of ending char 11

最佳答案

在控制台输入然后发送和接收的字符串是

"asdadsgdgsd\r\n"
012345678901_2_

所以值11是正确的

关于c++ string.find() 返回字符串的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53320478/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com