17 个解决方案
#1
利用for循环吧,我想应该没什么好方法把
#2
循环体去吧
#3
void main()
{
BYTE arr[] = {'a','b','c','\0'};
char *p = (char *)arr;
cout<<p<<endl;
}
{
BYTE arr[] = {'a','b','c','\0'};
char *p = (char *)arr;
cout<<p<<endl;
}
#4
循环吧
#5
循环提取吧
#6
不知道你是不是这个意思,那你只要
MessageBox(p);就可以了
void main()
{
BYTE arr[] = {'a','b','c','\0'};
char *p = (char *)arr;
cout<<p<<endl;
AfxMessageBox(p,0,0);
}
MessageBox(p);就可以了
void main()
{
BYTE arr[] = {'a','b','c','\0'};
char *p = (char *)arr;
cout<<p<<endl;
AfxMessageBox(p,0,0);
}
#7
to mahongxi:
可是我的字节数组中定义的不是字符而是16进制码,那要怎样用AfxMessageBox()显示呢?用你上边的方法好象只能显示字符吧!
帮我想想有没有好的办法?
或者换句话说我要将一段内存里的数据显示出来。
可是我的字节数组中定义的不是字符而是16进制码,那要怎样用AfxMessageBox()显示呢?用你上边的方法好象只能显示字符吧!
帮我想想有没有好的办法?
或者换句话说我要将一段内存里的数据显示出来。
#8
#include "stdlib.h"
itoa(i,temp,10);///将i转换为字符串放入temp中,最后一个数字表示十进制
itoa(i,temp,2); ///按二进制方式转换
进制的范围只能是2-36之间,你的字符串是用什么方式来表示就用相对应的进制。
itoa(i,temp,10);///将i转换为字符串放入temp中,最后一个数字表示十进制
itoa(i,temp,2); ///按二进制方式转换
进制的范围只能是2-36之间,你的字符串是用什么方式来表示就用相对应的进制。
#9
to : lblyy76
可i 是一个整型,而不是一个整型指针?
可i 是一个整型,而不是一个整型指针?
#10
用CString吧;
#11
这类问题最容易发生误解,就是俗语的"鸡同鸭讲".
楼主举个例子,然后大家再回答吧!
如:
BYTE bMyByte[]={ ........}
应该打印出
"xxxxxxx"
楼主举个例子,然后大家再回答吧!
如:
BYTE bMyByte[]={ ........}
应该打印出
"xxxxxxx"
#12
哈哈,鸡先讲了
BYTE updata[]={0xFF,0x01,0x00,0x04,0x2F,0x00,0x34};
我想用AfxMessageBox(函数变换 updata)显示出FF,1,0,4,2F,0,34。
请指教!谢
BYTE updata[]={0xFF,0x01,0x00,0x04,0x2F,0x00,0x34};
我想用AfxMessageBox(函数变换 updata)显示出FF,1,0,4,2F,0,34。
请指教!谢
#13
如果是单字节的,如ANSI编码的话,直接用MessageBox就可以了
如果是双字节的,例如wchar的,那么可以用SDK函数MultiByteToWideChar转一下
如果是其他的编码,那么自己写函数转吧^_^
如果是双字节的,例如wchar的,那么可以用SDK函数MultiByteToWideChar转一下
如果是其他的编码,那么自己写函数转吧^_^
#14
CString szA="",szB="";
for(int i=0;i<數組個數;i++)
{
szB.Format(_T("%x"),updata[i]);
if(i!=數組個數-1) szB+=",";
else szB+="."; //:))
szA+=szB;
}
AfxMessageBox(szA);
for(int i=0;i<數組個數;i++)
{
szB.Format(_T("%x"),updata[i]);
if(i!=數組個數-1) szB+=",";
else szB+="."; //:))
szA+=szB;
}
AfxMessageBox(szA);
#15
to : YP2002CN(老婆我不敢了,老婆我愛你) 谢!
我爱老婆,可我没有:)
我爱老婆,可我没有:)
#16
YP2002正确。
我的方法是:
BYTE updata[]={0xFF,0x01,0x00,0x04,0x2F,0x00,0x34};
char* szMsg=new char [sizeof(update)/sizeof(BYTE)*2+1]
int j=0;
for (int i=0;i<sizeof(update)/sizeof(BYTE);i++)
j+=sprintf(szMsg+j,"%X,",update[i]);
szMsg[j-1]='.'
MessageBox(NULL,szMsg,"Title",MB_OK);
delete []szMsg;
仅供参考,出错勿怪。
我的方法是:
BYTE updata[]={0xFF,0x01,0x00,0x04,0x2F,0x00,0x34};
char* szMsg=new char [sizeof(update)/sizeof(BYTE)*2+1]
int j=0;
for (int i=0;i<sizeof(update)/sizeof(BYTE);i++)
j+=sprintf(szMsg+j,"%X,",update[i]);
szMsg[j-1]='.'
MessageBox(NULL,szMsg,"Title",MB_OK);
delete []szMsg;
仅供参考,出错勿怪。
#17
谢谢大家,散分
#1
利用for循环吧,我想应该没什么好方法把
#2
循环体去吧
#3
void main()
{
BYTE arr[] = {'a','b','c','\0'};
char *p = (char *)arr;
cout<<p<<endl;
}
{
BYTE arr[] = {'a','b','c','\0'};
char *p = (char *)arr;
cout<<p<<endl;
}
#4
循环吧
#5
循环提取吧
#6
不知道你是不是这个意思,那你只要
MessageBox(p);就可以了
void main()
{
BYTE arr[] = {'a','b','c','\0'};
char *p = (char *)arr;
cout<<p<<endl;
AfxMessageBox(p,0,0);
}
MessageBox(p);就可以了
void main()
{
BYTE arr[] = {'a','b','c','\0'};
char *p = (char *)arr;
cout<<p<<endl;
AfxMessageBox(p,0,0);
}
#7
to mahongxi:
可是我的字节数组中定义的不是字符而是16进制码,那要怎样用AfxMessageBox()显示呢?用你上边的方法好象只能显示字符吧!
帮我想想有没有好的办法?
或者换句话说我要将一段内存里的数据显示出来。
可是我的字节数组中定义的不是字符而是16进制码,那要怎样用AfxMessageBox()显示呢?用你上边的方法好象只能显示字符吧!
帮我想想有没有好的办法?
或者换句话说我要将一段内存里的数据显示出来。
#8
#include "stdlib.h"
itoa(i,temp,10);///将i转换为字符串放入temp中,最后一个数字表示十进制
itoa(i,temp,2); ///按二进制方式转换
进制的范围只能是2-36之间,你的字符串是用什么方式来表示就用相对应的进制。
itoa(i,temp,10);///将i转换为字符串放入temp中,最后一个数字表示十进制
itoa(i,temp,2); ///按二进制方式转换
进制的范围只能是2-36之间,你的字符串是用什么方式来表示就用相对应的进制。
#9
to : lblyy76
可i 是一个整型,而不是一个整型指针?
可i 是一个整型,而不是一个整型指针?
#10
用CString吧;
#11
这类问题最容易发生误解,就是俗语的"鸡同鸭讲".
楼主举个例子,然后大家再回答吧!
如:
BYTE bMyByte[]={ ........}
应该打印出
"xxxxxxx"
楼主举个例子,然后大家再回答吧!
如:
BYTE bMyByte[]={ ........}
应该打印出
"xxxxxxx"
#12
哈哈,鸡先讲了
BYTE updata[]={0xFF,0x01,0x00,0x04,0x2F,0x00,0x34};
我想用AfxMessageBox(函数变换 updata)显示出FF,1,0,4,2F,0,34。
请指教!谢
BYTE updata[]={0xFF,0x01,0x00,0x04,0x2F,0x00,0x34};
我想用AfxMessageBox(函数变换 updata)显示出FF,1,0,4,2F,0,34。
请指教!谢
#13
如果是单字节的,如ANSI编码的话,直接用MessageBox就可以了
如果是双字节的,例如wchar的,那么可以用SDK函数MultiByteToWideChar转一下
如果是其他的编码,那么自己写函数转吧^_^
如果是双字节的,例如wchar的,那么可以用SDK函数MultiByteToWideChar转一下
如果是其他的编码,那么自己写函数转吧^_^
#14
CString szA="",szB="";
for(int i=0;i<數組個數;i++)
{
szB.Format(_T("%x"),updata[i]);
if(i!=數組個數-1) szB+=",";
else szB+="."; //:))
szA+=szB;
}
AfxMessageBox(szA);
for(int i=0;i<數組個數;i++)
{
szB.Format(_T("%x"),updata[i]);
if(i!=數組個數-1) szB+=",";
else szB+="."; //:))
szA+=szB;
}
AfxMessageBox(szA);
#15
to : YP2002CN(老婆我不敢了,老婆我愛你) 谢!
我爱老婆,可我没有:)
我爱老婆,可我没有:)
#16
YP2002正确。
我的方法是:
BYTE updata[]={0xFF,0x01,0x00,0x04,0x2F,0x00,0x34};
char* szMsg=new char [sizeof(update)/sizeof(BYTE)*2+1]
int j=0;
for (int i=0;i<sizeof(update)/sizeof(BYTE);i++)
j+=sprintf(szMsg+j,"%X,",update[i]);
szMsg[j-1]='.'
MessageBox(NULL,szMsg,"Title",MB_OK);
delete []szMsg;
仅供参考,出错勿怪。
我的方法是:
BYTE updata[]={0xFF,0x01,0x00,0x04,0x2F,0x00,0x34};
char* szMsg=new char [sizeof(update)/sizeof(BYTE)*2+1]
int j=0;
for (int i=0;i<sizeof(update)/sizeof(BYTE);i++)
j+=sprintf(szMsg+j,"%X,",update[i]);
szMsg[j-1]='.'
MessageBox(NULL,szMsg,"Title",MB_OK);
delete []szMsg;
仅供参考,出错勿怪。
#17
谢谢大家,散分