gpt4 book ai didi

c++ - 从 Streambuffer 转换的字符串中的垃圾打印

转载 作者:太空宇宙 更新时间:2023-11-03 10:43:46 24 4
gpt4 key购买 nike

我正在使用 Boost::Asio 库制作 C++ 客户端/服务器 TCP 模拟器。

这是我的部分代码:

客户:

std::string option;
std::getline(std::cin, option);
option.push_back('\r');
option.push_back('\n');
boost::asio::write(client_socket, boost::asio::buffer(option));

服务器:

boost::asio::streambuf received;
boost::asio::read_until(socket, received, "\r\n");
char number[7];
recieved.sgetn(number, 7);
std::cout << "The entered number is: " << number << std::endl;

(我只包含有问题的代码)

我的问题是 char[] number 中包含垃圾值,例如输入 1234567:

enter image description here

我该如何解决这个问题?

最佳答案

你必须用 null 终止你的字符串,这不是你做的。

char number[7]; //you need additional allocation for '\0'

使用

char number[8];

关于c++ - 从 Streambuffer 转换的字符串中的垃圾打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27569612/

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