有什么好的办法可以将一个字节数组转换为字符串,用AfxMessageBox显示吗?谢谢 有什么好的办法可以将一个字节数组转换为字符串,用AfxMessageBox显示吗?在MFC或SDK中有这样的函数吗?或是给我一个例子代码。谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 利用for循环吧,我想应该没什么好方法把 void main(){ BYTE arr[] = {'a','b','c','\0'}; char *p = (char *)arr; cout<<p<<endl;} 不知道你是不是这个意思,那你只要MessageBox(p);就可以了void main(){ BYTE arr[] = {'a','b','c','\0'}; char *p = (char *)arr; cout<<p<<endl; AfxMessageBox(p,0,0);} to mahongxi:可是我的字节数组中定义的不是字符而是16进制码,那要怎样用AfxMessageBox()显示呢?用你上边的方法好象只能显示字符吧!帮我想想有没有好的办法?或者换句话说我要将一段内存里的数据显示出来。 #include "stdlib.h"itoa(i,temp,10);///将i转换为字符串放入temp中,最后一个数字表示十进制itoa(i,temp,2); ///按二进制方式转换进制的范围只能是2-36之间,你的字符串是用什么方式来表示就用相对应的进制。 to : lblyy76可i 是一个整型,而不是一个整型指针? 这类问题最容易发生误解,就是俗语的"鸡同鸭讲".楼主举个例子,然后大家再回答吧!如:BYTE bMyByte[]={ ........}应该打印出"xxxxxxx" 哈哈,鸡先讲了BYTE updata[]={0xFF,0x01,0x00,0x04,0x2F,0x00,0x34};我想用AfxMessageBox(函数变换 updata)显示出FF,1,0,4,2F,0,34。请指教!谢 如果是单字节的,如ANSI编码的话,直接用MessageBox就可以了如果是双字节的,例如wchar的,那么可以用SDK函数MultiByteToWideChar转一下如果是其他的编码,那么自己写函数转吧^_^ 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); to : YP2002CN(老婆我不敢了,老婆我愛你) 谢!我爱老婆,可我没有:) 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;仅供参考,出错勿怪。 工具栏上面右击弹出菜单的问题 请问:有没有基于C/C++的分行解析的解析器?我下载了一个arabica-2005-august,可是编译通不过 [C/C++题目,进者有分。并且有一定的难度.] vc++中#pragma是什么意思 怎样把整形转化成字符 SourceSafe activex封装DLL的问题 请问 COM 能否返回MYSQL 类型?谢谢 关于兄弟窗口之间的同步重绘问题,求大V 菜鸟问题:怎么在控制台程序中使用CString类?需要加哪些头文件,顺序怎样? 有一个小菜的问题。 如何引用 VECTOR 向量(好急啊...)
{
BYTE arr[] = {'a','b','c','\0'};
char *p = (char *)arr; cout<<p<<endl;
}
MessageBox(p);就可以了
void main()
{
BYTE arr[] = {'a','b','c','\0'};
char *p = (char *)arr; cout<<p<<endl;
AfxMessageBox(p,0,0);
}
可是我的字节数组中定义的不是字符而是16进制码,那要怎样用AfxMessageBox()显示呢?用你上边的方法好象只能显示字符吧!
帮我想想有没有好的办法?或者换句话说我要将一段内存里的数据显示出来。
itoa(i,temp,10);///将i转换为字符串放入temp中,最后一个数字表示十进制
itoa(i,temp,2); ///按二进制方式转换
进制的范围只能是2-36之间,你的字符串是用什么方式来表示就用相对应的进制。
可i 是一个整型,而不是一个整型指针?
如:
BYTE bMyByte[]={ ........}
应该打印出
"xxxxxxx"
我想用AfxMessageBox(函数变换 updata)显示出FF,1,0,4,2F,0,34。请指教!谢
如果是双字节的,例如wchar的,那么可以用SDK函数MultiByteToWideChar转一下
如果是其他的编码,那么自己写函数转吧^_^
for(int i=0;i<數組個數;i++)
{
szB.Format(_T("%x"),updata[i]);
if(i!=數組個數-1) szB+=",";
else szB+="."; //:))
szA+=szB;
}
AfxMessageBox(szA);
我爱老婆,可我没有:)
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;仅供参考,出错勿怪。