//本文在c++ builer 6.0 和10.3调试通过。
//在屏幕上以10进制和16进制打印。
#include <vcl.h>
#include <iostream>
using namespace std;
#if(__BORLANDC__<=1380) // 低版本
#include <SysUtils.hpp>
#include <cassert>
#else // Earlier Versions
#include <System.SysUtils.hpp>
#endif
using namespace std;
int Mystrlen(const char * str)
{assert(str!=NULL);
int len=0;
while(*str)
{str++;
len++;
}
return len;
}
int MyPrintstrAsc(const char * str)//打印10进制
{unsigned char * p= (unsigned char*)str;
int m,n;
n=Mystrlen(str);
for (int i = 0; i < n; i++)
{m= *p;
cout<<m<<endl;
p++;
}
return n;
}
int MyPrintstrHexAsc(const char * str)//打印16进制
{unsigned char * p= (unsigned char*)str;
int m,n;
n=Mystrlen(str);
AnsiString x;
for (int i = 0; i < n; i++)
{m= *p;
x=IntToHex(m,2);
#if(__BORLANDC__<=1380) // 低版本
cout<<x.c_str()<<endl;
#else // Earlier Versions
cout<<x<<endl;
#endif
p++;
}
return n;
}
#if(__BORLANDC__<=1380) // 低版本
int main(int argc, char* argv[])
#else // Earlier Versions
int _tmain(int argc, _TCHAR* argv[])
#endif
{char a[50]="hello";
MyPrintstrAsc(a);
MyPrintstrHexAsc(a);
system("pause");
return 0;
}