我正在编写一个使用 SAPI 5 的自定义文本转语音程序,我面临的一个问题是枚举声音SpEnumTokens并对其进行迭代会产生CSpDynamicString对象。
我的问题是,我如何转换CSpDynamicString成char *这样我可以printf他们?
看起来我必须使用 ATL 中的某种文本转换宏。我找到了一个这样做的例子(给定dstrDesc的是CSpDynamicString):
CSpDynamicString dstrDesc;
SpGetDescription(voiceToken, &dstrDesc);
USES_CONVERSION;
printf("%s\n", W2T(dstrDesc));
然而,这只会打印语音名称的第一个字符!
有任何想法吗?