我想打印什麼用戶插入命令行爲HEX 當我聲明我的變量爲:unsigned char myargv [] = {0x00,0xFF}; 它工作得很好,我得到:11111111 但是當我從傳遞命令行參數我我得到不同的值 例子:MYAPP.EXE FF 我得到:01100010從命令行輸入參數爲十六進制
#include <iostream>
#include <string>
using namespace std;
void writeToScreen(unsigned char *data);
int main(int argc,unsigned char *argv[]){
if(argc != 2){
unsigned char myargv[] = {0x00,0xFF};
writeToScreen(&myargv[1]);
}else{
writeToScreen(argv[1]);
}
system("pause");
return 0;
}
void writeToScreen(unsigned char *data){
unsigned char dat;
dat =*(data);
for (unsigned int i=0;i<8;i++)
{
if (dat & 1)
cout<<"1";
else
cout<<"0";
dat>>=1;
}
cout<<endl;
}
你調試了嗎? – StoryTeller
如果使用'unsigned char myargv [] = {'F','F'};'比較輸出。你有沒有在某處看到相似之處? – molbdnilo