00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #include "fennel/common/CommonPreamble.h"
00024 #include "fennel/calculator/StringToHex.h"
00025
00026 #include <string>
00027 #include <sstream>
00028 #include <iomanip>
00029
00030 FENNEL_BEGIN_CPPFILE("$Id: //open/dev/fennel/calculator/StringToHex.cpp#2 $");
00031
00032 using namespace fennel;
00033 using namespace std;
00034
00035
00036 string
00037 stringToHex(char const * const buf)
00038 {
00039 assert(buf != NULL);
00040 uint buflen = strlen(buf);
00041 return stringToHex(buf, buflen);
00042 }
00043
00044 string
00045 stringToHex(string const & s)
00046 {
00047 return stringToHex(s.c_str());
00048 }
00049
00050 string
00051 stringToHex(char const * const buf, uint buflen)
00052 {
00053 assert(buf != NULL);
00054 ostringstream ostr;
00055 for (uint i = 0; i < buflen; i++) {
00056 unsigned char ch = (unsigned char) buf[i];
00057 ostr << hex << setw(2) << setfill('0') << (uint) ch;
00058 }
00059 return ostr.str();
00060 }
00061
00062 FENNEL_END_CPPFILE("$Id: //open/dev/fennel/calculator/StringToHex.cpp#2 $");
00063
00064