gpt4 book ai didi

c++ - 将 printf 和 cout 重定向到套接字

转载 作者:行者123 更新时间:2023-11-27 23:24:19 27 4
gpt4 key购买 nike

我在想是否可以轻松地将 printf 或 cout 重定向到套接字?

顺便说一句,我目前正在使用 Windows VC++ 编程...

最佳答案

不,但是您可以使用 sprintf 函数系列:

// Make sure this buffer is big enough; if the maximum size isn't known, use
// _vscprintf or a dynamically allocated buffer if you want to avoid truncation
char buffer[2048];
_snprintf_s(buffer, sizeof(buffer), _TRUNCATE, "format %s etc.", args...);
send(mySocket, buffer, strlen(buffer)+1, 0); // +1 for NUL terminator

请注意,_snprintf_s 是 Microsoft 运行时专用函数,因此如果您正在编写可移植代码,请在其他平台上使用 snprintf

在 C++ 中,您还可以使用 std::ostringstream 来获得类似的结果:

std::ostringstream buffer;
buffer << "test: " << myvar << somethingelse << etc;
send(mySocket, buffer.str().c_str(), buffer.str().size() + 1, 0);
// +1 for NUL terminator

关于c++ - 将 printf 和 cout 重定向到套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10492013/

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