I have tried using maxchar values of up to 100 and I still get a segmentation fault......
If it's any help here is what the data (the board_id) is: As viewed in a file in Hex: 0100F120 As displayed on the screen after being read from the file: 552665089 (this is the result of doing a cout of the data).... Fran Lucian Cosoi wrote: > > 2009/1/14 frano wrote: > >> >> I have the following code: >> >> struct unit_struct { >> unsigend char *version[LEN]; >> ULONG board_id; >> unsigned char *unit[LEN]; >> }; >> >> >> const unsigned long ud_brd_id = units_data->board_id; >> XMLCh brd_id[100]; >> XMLSize_t maxchars = sizeof(units_data->board_id); >> const unsigned int rad = 10; >> try { >> XMLString::binToText(ud_brd_id, brd_id, maxchars, rad); >> } catch (const XMLException& exc) { >> cout << " Got exception \n"; >> char *exc_msg = XMLString::transcode(exc.getMessage()); >> cout << "Exception msg is " << exc_msg << "\n"; >> } >> >> >> When the code is executed I get a segmentation fault on the >> XMLString::binToText call...... >> >> Any ideas of what I am doing wrong ? >> >> Fran >> > > You specify to the "binToText" function that the maximum number of > characters the resulting string should be represented on is sizeof(ULONG) > - > which I assume is 4 or whatever number of bytes your system represents > unsigned long on. > > I guess the number stored in "board_id" is represented on more digits than > that, and it doesn't fit. > > -- View this message in context: http://www.nabble.com/Problem-using-binToText-for-Long-data-tp21465842p21477049.html Sent from the Xerces - C - Users mailing list archive at Nabble.com.