通过HTTP获得C ,忽略Char缓冲区中的逃生字符
Ignoring escape characters in a char buffer received through HTTP GET C++
我正在发送一个请求,以从网页获取图像。我将C 与WinSocket和TCP HTTP获取请求一起使用。我在Char缓冲区中收到所有信息,但是当我将其流式传输到文件或字符串时,它很短,因为其中有字符串终结器。处理逃生角色的最佳/最有效方法是什么?
预先感谢。
编辑: ofstream out(" temp.jpg");
//m_Received.reserve(STRINGBUFFERSIZE);
char rBuffer[BUFFERSIZE];
int readSize = 0;
int totalSize = 0;
do
{
PRINT("Reset buffer");
ZeroMemory(rBuffer, sizeof(rBuffer));
PRINT("Receiving...");
readSize = recv(socket, rBuffer, sizeof(rBuffer), 0);
PRINT("Received " << readSize << " bytes...");
if (readSize > 0)
{
totalSize += readSize;
//m_Received.append(rBuffer);
for (int i = 0; i < readSize; ++i)
{
out << rBuffer[i];
}
if (readSize < BUFFERSIZE)
{
PRINT("Stopping receiving...");
break;
}
}
else if (readSize == -1)
throw SocketError("ErrorReceiving", readSize);
} while (readSize > 0);
即使将每个角色分别放在每个角色时,我也会与原始图像有很小的不同,这会导致腐败。
好的,所以我只需将char Buffer二进制文件写入文件即可修复。应该早点想到。
相关文章:
- C++字符*缓冲区的大小
- 为什么msgrcv()将垃圾字符馈送到缓冲区
- 使用动态分配的数组会导致代码分析发出虚假的C6386缓冲区溢出警告
- ostream过载时的缓冲区冲洗
- C++中的高效循环缓冲区,它将被传递给C样式数组函数参数
- Xaudio2在更改缓冲区或循环时弹出声音
- 为什么我在leetcode上收到AddressSanitizer:地址0x602000000058上的堆缓冲区溢出错误
- 如何将图像传输到c++(dll)中的缓冲区,然后在c#的缓冲区中读/写
- 如何在cpp.中使用协议缓冲区存储大缓冲区/数组(char/int)
- 多线程双缓冲区
- Android P-9.0.0_r53 Logcat主缓冲区超出定义大小
- 套接字读取后,我在缓冲区中看到意外输入
- std::带有自定义缓冲区的 iostream 不允许我写入
- 从返回的顶点缓冲区查询顶点结构
- Vulkan 中的动态顶点缓冲区格式设置
- OpenGL 16 位模板缓冲区?
- 在 leetcode 上提交解决方案时出现堆栈缓冲区溢出错误
- 在 openGL 中多次绑定缓冲区
- struct.error:解压缩 C++ 结构时,解包需要 288 字节的缓冲区
- 通过HTTP获得C ,忽略Char缓冲区中的逃生字符