写程序:读出二进制流中指定的几位
写程序:读出二进制流中指定的几位
为了方便,二进制流放在字符串中,"1122335566"
unsigned int GetBits(wstring str, unsigned int pos, unsigned int len)
{
}
wstring s("1122335566");
cout < < Hex < < GetBits(s, 12, 8) < < endl;//输出23
求达人如何写这个函数
[解决办法]
字符串的分割函数和求子串函数不知行不行
[解决办法]
首先你的题目提法有问题,按照题目的意思,题目要求的并不是二进制流,而是每个数字字符转换为数字后按照4字节大小做整形存储,然后你把这些每个4位拼起来的数字看作是二进制流,位置pos代表这个流里bit位,len为所取的位,帮你些了一个,楼主看下
- C/C++ code
#include <iostream> using namespace std;unsigned int GetBits(char *p,int pos,int len){ int len1=strlen(p); char *f=new char[len1]; int n=len/4; int k=pos/4; for(int i=0;i<n;i++) { f[i]=p[k+i]; } f[i]='\0'; int num=atoi(f); delete [] f; return num; }int main(){ char *p="1122335566"; cout<<GetBits(p,12,8); }23Press any key to continue