[quote=引用 4 楼 zhagoodwell 的回复:] [quote=引用 2 楼 HelegeHeHeha的回复:][quote=引用 1 楼 zhagoodwell 的回复:] 字符串查找 空格键 得到每个空格的下标 我有个函数: int BF(char a[],char b[],int c[])//a为主串 b为次串 c[]存储匹配的下标 函数返回 匹配的个数 { int i=0,j=0,k=0; do{ if (b[j]&&a[i++]==b[j])++j; else { b[j]?(i-=j):(c[k++]=i-j); j=0; } }while(a[i-1]); return k; } 函数调用:BF("AB 57 79 73 "," ",C); 空格和字符之间有对应关系 然后 你需要第几个就找到第几个空格的下标 接下来 替换高低位 并进行进制转换即可
应该是第7字节吧,不是第7位。位和字节不是一个概念。 如果确定将第7个字节和第8个字节取出来,然后组成一个新的数据。 可以考虑 unsigned int num = buf[7]; num = (num << 8) + buf[6]; 在内存中只有2进制表示,没有十进制,十六进制之分。 如果以%d输出是十进制形式,如果是以%x或%X输出是16进制形式。
unsigned int num = buf[7]; num = (num << 8) + buf[6];
[quote=引用 3 楼 cfjtaishan 的回复:] 应该是第7字节吧,不是第7位。位和字节不是一个概念。 如果确定将第7个字节和第8个字节取出来,然后组成一个新的数据。 可以考虑 unsigned int num = buf[7]; num = (num << 8) + buf[6]; 在内存中只有2进制表示,没有十进制,十六进制之分。 如果以%d输出是十进制形式,如果是以%x或%X输出是16进制形式。
[quote=引用 1 楼 zhagoodwell 的回复:] 字符串查找 空格键 得到每个空格的下标 我有个函数: int BF(char a[],char b[],int c[])//a为主串 b为次串 c[]存储匹配的下标 函数返回 匹配的个数 { int i=0,j=0,k=0; do{ if (b[j]&&a[i++]==b[j])++j; else { b[j]?(i-=j):(c[k++]=i-j); j=0; } }while(a[i-1]); return k; } 函数调用:BF("AB 57 79 73 "," ",C); 空格和字符之间有对应关系 然后 你需要第几个就找到第几个空格的下标 接下来 替换高低位 并进行进制转换即可
[quote=引用 2 楼 HelegeHeHeha的回复:][quote=引用 1 楼 zhagoodwell 的回复:] 字符串查找 空格键 得到每个空格的下标 我有个函数: int BF(char a[],char b[],int c[])//a为主串 b为次串 c[]存储匹配的下标 函数返回 匹配的个数 { int i=0,j=0,k=0; do{ if (b[j]&&a[i++]==b[j])++j; else { b[j]?(i-=j):(c[k++]=i-j); j=0; } }while(a[i-1]); return k; } 函数调用:BF("AB 57 79 73 "," ",C); 空格和字符之间有对应关系 然后 你需要第几个就找到第几个空格的下标 接下来 替换高低位 并进行进制转换即可
字符串查找 空格键 得到每个空格的下标 我有个函数: int BF(char a[],char b[],int c[])//a为主串 b为次串 c[]存储匹配的下标 函数返回 匹配的个数 { int i=0,j=0,k=0; do{ if (b[j]&&a[i++]==b[j])++j; else { b[j]?(i-=j):(c[k++]=i-j); j=0; } }while(a[i-1]); return k; } 函数调用:BF("AB 57 79 73 "," ",C); 空格和字符之间有对应关系 然后 你需要第几个就找到第几个空格的下标 接下来 替换高低位 并进行进制转换即可
69,371
社区成员
243,080
社区内容
加载中
试试用AI创作助手写篇文章吧