从Buffer中提取字符并将其存储

时间:2016-09-12 10:33:05

标签: c++ string sockets buffer

我对从缓冲区中提取数字感到困惑。你能帮忙吗?

我正在使用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,因此它永远不会退出循环。

0 个答案:

没有答案