//本文在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; }
|