- 论坛徽章:
- 0
|
原帖由 hero_ever 于 2007-8-23 17:46 发表 ![]()
怎么一次读两个字节?比如我那个程序如何改?3ks
- unsigned int get_word(const char* inbuf, int &pos)
- {
- unsigned int result = 0;
- unsigned char *tmpbuf=(unsigned char*)inbuf;
- if(*(unsigned char*)(tmpbuf+pos) > 0x80 && tmpbuf[pos+1] != '\0'){
- result=tmpbuf[pos+1] *256 + tmpbuf[pos];
- pos+=2;
- }
- else{
- result=tmpbuf[pos];
- pos++;
- }
- return result;
- }
复制代码
- unsigned char word_char[3];
- unsigned int word_int = 0;
- word_int = get_word(buff_in, pos);
- if(word_int >= 256){
- word_char[0] = word_int % 256;
- word_char[1] = word_int / 256;
- word_char[2] = '\0';
- }
- else{
- word_char[0] = word_int;
- word_char[1] = '\0';
- }
复制代码
现在放在word_char中了(针对GB编码的)
[ 本帖最后由 litao19 于 2007-8-23 17:56 编辑 ] |
|