xercesc ::XMLStringクラスには、XMLCh 配列をネイティブ char *配列にトランスコードするための 2 つの異なる関数があります。
static char * transcode(const XMLCh *const toTranscode, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
と
static bool transcode(const XMLCh *const toTranscode, char *const toFill, const XMLSize_t maxChars, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
ドキュメントによると、2 番目のオーバーロードは非推奨です。ただし、どちらの関数の正確な動作に関するドキュメントもまばらであり、(ContentHandler ::charactersハンドラーのように) 指定された長さの XMLCh 配列を取得する場合、文字数を制限する方法を使用する必要があるようです。トランスコード。2 番目の方法が推奨されない理由と、代替のトランスコーディング方法があるかどうかについての手がかりはありますか?