CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

数组下标的问题

楼主boyz(杀人越货)2005-08-04 20:22:39 在 VC/MFC / 基础类 提问

unsigned   char   os_toebcdic[256]   =   {  
          0x00,   0x01,   0x02,   0x03,   0x37,   0x2d,   0x2e,   0x2f,   /*   00-0f:                       */  
          0x16,   0x05,   0x15,   0x0b,   0x0c,   0x0d,   0x0e,   0x0f,   /*   ................   */  
          0x10,   0x11,   0x12,   0x13,   0x3c,   0x3d,   0x32,   0x26,   /*   10-1f:                       */  
          0x18,   0x19,   0x3f,   0x27,   0x1c,   0x1d,   0x1e,   0x1f,   /*   ................   */  
          0x40,   0x5a,   0x7f,   0x7b,   0x5b,   0x6c,   0x50,   0x7d,   /*   20-2f:                       */  
          0x4d,   0x5d,   0x5c,   0x4e,   0x6b,   0x60,   0x4b,   0x61,   /*     !"#$%&'()*+,-./   */  
          0xf0,   0xf1,   0xf2,   0xf3,   0xf4,   0xf5,   0xf6,   0xf7,   /*   30-3f:                       */  
          0xf8,   0xf9,   0x7a,   0x5e,   0x4c,   0x7e,   0x6e,   0x6f,   /*   0123456789:;<=>?   */  
          0x7c,   0xc1,   0xc2,   0xc3,   0xc4,   0xc5,   0xc6,   0xc7,   /*   40-4f:                       */  
          0xc8,   0xc9,   0xd1,   0xd2,   0xd3,   0xd4,   0xd5,   0xd6,   /*   @ABCDEFGHIJKLMNO   */  
          0xd7,   0xd8,   0xd9,   0xe2,   0xe3,   0xe4,   0xe5,   0xe6,   /*   50-5f:                       */  
          0xe7,   0xe8,   0xe9,   0xad,   0xe0,   0xbd,   0x5f,   0x6d,   /*   PQRSTUVWXYZ[\]^_   */  
          0x79,   0x81,   0x82,   0x83,   0x84,   0x85,   0x86,   0x87,   /*   60-6f:                       */  
          0x88,   0x89,   0x91,   0x92,   0x93,   0x94,   0x95,   0x96,   /*   `abcdefghijklmno   */  
          0x97,   0x98,   0x99,   0xa2,   0xa3,   0xa4,   0xa5,   0xa6,   /*   70-7f:                       */  
          0xa7,   0xa8,   0xa9,   0xc0,   0x4f,   0xd0,   0xa1,   0x07,   /*   pqrstuvwxyz{|}~.   */  
          0x20,   0x21,   0x22,   0x23,   0x24,   0x04,   0x06,   0x08,   /*   80-8f:                       */  
          0x28,   0x29,   0x2a,   0x2b,   0x2c,   0x09,   0x0a,   0x14,   /*   ................   */  
          0x30,   0x31,   0x25,   0x33,   0x34,   0x35,   0x36,   0x17,   /*   90-9f:                       */  
          0x38,   0x39,   0x3a,   0x3b,   0x1a,   0x1b,   0x3e,   0xff,   /*   ................   */  
          0x41,   0xaa,   0x4a,   0xb1,   0x9f,   0xb2,   0x6a,   0xb5,   /*   a0-af:                       */  
          0xbb,   0xb4,   0x9a,   0x8a,   0xb0,   0xca,   0xaf,   0xbc,   /*   ................   */  
          0x90,   0x8f,   0xea,   0xfa,   0xbe,   0xa0,   0xb6,   0xb3,   /*   b0-bf:                       */  
          0x9d,   0xda,   0x9b,   0x8b,   0xb7,   0xb8,   0xb9,   0xab,   /*   ................   */  
          0x64,   0x65,   0x62,   0x66,   0x63,   0x67,   0x9e,   0x68,   /*   c0-cf:                       */  
          0x74,   0x71,   0x72,   0x73,   0x78,   0x75,   0x76,   0x77,   /*   ................   */  
          0xac,   0x69,   0xed,   0xee,   0xeb,   0xef,   0xec,   0xbf,   /*   d0-df:                       */  
          0x80,   0xfd,   0xfe,   0xfb,   0xfc,   0xba,   0xae,   0x59,   /*   ................   */  
          0x44,   0x45,   0x42,   0x46,   0x43,   0x47,   0x9c,   0x48,   /*   e0-ef:                       */  
          0x54,   0x51,   0x52,   0x53,   0x58,   0x55,   0x56,   0x57,   /*   ................   */  
          0x8c,   0x49,   0xcd,   0xce,   0xcb,   0xcf,   0xcc,   0xe1,   /*   f0-ff:                       */  
          0x70,   0xdd,   0xde,   0xdb,   0xdc,   0x8d,   0x8e,   0xdf     /*   ................   */  
  };  
   
   
   
  ........................  
  ........................  
  ........................  
                  char   tmpbuf[64];  
                  char   *p,*pp;  
                  char   tmp_str[64];  
   
                  int     ii;  
   
                     
                                  memset(tmpbuf,0,sizeof(tmpbuf));    
                memset(tmp_str,0,sizeof(tmp_str));  
                          tmp_str[0]=0xe9;  
                          tmp_str[1]=0xce;  
                          tmp_str[2]=0x2b;  
                          tmp_str[3]=0xc8;  
   
                      p=tmp_str;  
                                        pp=tmpbuf;  
                                           
                                            for(ii=0;ii<4;ii++)  
                                              pp[ii]=os_toebcdic[p[ii]];  
   
                                      //这里执行到这里查码表后应该pp[0]为0x51,pp[1]为0x76,pp[2]为0x4E,pp[3]为         0x74,但实际得出来却是pp[0]为0x5A,pp[1]为0x40,pp[2]为0x4E,pp[3]为0xd0,请教为什么啊,急!!  
  问题点数:100、回复次数:8Top

1 楼boyz(杀人越货)回复于 2005-08-04 20:22:47 得分 0

顶啊Top

2 楼boyz(杀人越货)回复于 2005-08-04 20:25:13 得分 0

dinbvgTop

3 楼boyz(杀人越货)回复于 2005-08-04 20:42:34 得分 0

救命啊Top

4 楼yzhouen(真的不懂vc)回复于 2005-08-04 21:06:56 得分 30

char   tmpbuf[64];  
                  char   *p,*pp;  
                  char   tmp_str[64];  
   
   
  改为  
  nt   tmpbuf[64];  
                  int   *p,*pp;  
                  int   tmp_str[64];Top

5 楼CodeKey()回复于 2005-08-04 21:31:45 得分 30

 
  对char型变量赋值的时候   没考虑到   char型   的范围Top

6 楼boyplayee()回复于 2005-08-04 21:41:31 得分 10

CodeKey()   所言为要害之处Top

7 楼newbiestar()回复于 2005-08-04 21:45:48 得分 20

是你在进行数组下表操作的时候使用了signed   char类型,但是由于有符号的char的溢出,导致了访问了os_toebcdic数组之前的空间,得到什么结果都不足以为奇……  
   
  修改为unsigned   char就可以了,并且保证了一致……Top

8 楼vcmute(BCare4 H1Rest Good9!)回复于 2005-08-04 21:54:42 得分 10

os_toebcdic[(BYTE)p[ii]];Top

相关问题

  • 数组的下标
  • 数组下标的问题
  • 数组的下标问题
  • 数组下标的问题?
  • request.form数组下标越界
  • c#中如何取得数组下标
  • 如何得到数组的下标值
  • 怎样获得数组的下标
  • 怎样获得二维数组下标?
  • 数组下标是否越界

关键词

  • xd
  • xe
  • xc
  • xf
  • xa
  • tmpbuf
  • xb
  • tmp
  • str
  • ii

得分解答快速导航

  • 帖主:boyz
  • yzhouen
  • CodeKey
  • boyplayee
  • newbiestar
  • vcmute

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo