我对从缓冲区中提取数字感到困惑。你能帮忙吗?
我正在使用C ++。
我有一个缓冲区,我只希望提取一些数字,并将它们存储在变量中。最好的方法是什么?请检查是否使用了套接字编程。
char Buffer[1024];
bool bContinue = TRUE;
while (bContinue) {
memset(Buffer, 0, 1024);
int iLengthReceived = recv(LocalSocket,
(char *)Buffer,
1024,
0);
switch (iLengthReceived) {
case 0:
//something
break;
case socket_ERROR:
//something
break;
default:
printf("%s", Buffer);
}
}
例如,如果我打印缓冲区:printf("%s", Buffer);
我得到:[0K 4095 31]
现在我需要只获得4095并将其存储在变量中。
我想转换为字符串所以我使用了:string str=string(Buffer);
但如果我打印它:printf("%s",str);
我得到NULL。
我做错了什么,最简单的方法是什么?先感谢您。
编辑:已解决,我忘记在默认模式下设置条件bContinue = false,因此它永远不会退出循环。